博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为php添加pcntl扩展,多线程
阅读量:6946 次
发布时间:2019-06-27

本文共 1105 字,大约阅读时间需要 3 分钟。

前言:

pcntl 介绍

pcntl扩展可以支持 PHP 的多线程操作。(非Unix类系统不支持此模块)

phpize 介绍

phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展。

本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix 的环境都可以使用本方法安装,注意灵活变通。

 

 

php添加pcntl扩展(Linux)

php添加 pcntl 扩展

pcntl扩展可以支持php的多线程操作(仅限linux)

原本需要重新编译PHP的后面configrue提示加上--enable-pcnt

由于我的php是采用yum安装的,所以不能采用上面的方式

下面介绍一个php动态添加扩展的方式 phpize

1、首先看下 phpize命令 所在的目录 (ps:我的目录/usr/bin/phpize)

如果没有找到的话 执行安装

yum install php53_devel (ps:请注意自己的版本)

安装完毕后。会生成phpize命令  (也可以 whereis phpize 命令查看)

2、去php.net下载相应版本的php源文件

咱们以php-5.3.17 为例吧,解压后,进入相应的模块下
cd ext/pcntl
#先执行phpize
/usr/bin/phpize

./configure --with-php-config=/usr/bin/php-config (ps:请正确的指定php-config的目录)

#编译、安装

make && make install

这时候出了一个错误

./configure编译正常,但make出错

error: ‘PHP_FE_END’ undeclared here (not in a function)

解决方法:

源代码有错误,进入php-5.3.17目录

sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c
再重新make && make install

3、编译完毕后会生成了一个 pcntl.so的文件。在php的model目录里

编辑/etc/php.ini,加入

extension=pcntl.so

4、重启apache

service httpd restart

5、测试是否安装成功

输出:23165

 

转载地址:http://owenl.baihongyu.com/

你可能感兴趣的文章
为代码签名,供后人瞻仰或唾弃,你敢吗?
查看>>
Java笔记:集合框架实现原理
查看>>
用Objective-C写了一个简单的批量更改文件名的程序
查看>>
建立JDBC的环境配置和相关下载(Mac)
查看>>
Android 使用ViewPager结合PhotoView开源组件实现网络图片在线浏览功能
查看>>
GNU Radio中的数据元(Metadata)
查看>>
【JSP开发】URL路径的规范
查看>>
Android学习笔记(3):Android项目结构分析
查看>>
openlayers加载切片地图
查看>>
【Android开发】布局管理器-相对布局
查看>>
A Case about cursor_sharing=FORCE can introduce a execute plan stale
查看>>
[技术点]SQL 多条件查询
查看>>
PHP进阶~1
查看>>
thinking about application known or un-known distributed storage
查看>>
cocos2d::Map
查看>>
【Ajax技术】利用XHR接受与处理XML数据
查看>>
月薪13k的我为什么要转行学Python?
查看>>
节假日是不是一票难求?Python百十行代码帮你实现自动抢票!
查看>>
git 常见错误解决方案集合
查看>>
互联网架构技术面试题——Spring专题面试锦集
查看>>