Linux系统中为php添加pcntl扩展
pcntl扩展可以支持php的多线程操作(仅限linux)
原本需要重新编译PHP的后面configrue提示加上--enable-pcntl
由于我的php是采用yum安装的,所以不能采用上面的方式
下面介绍一个php动态添加扩展的方式 phpize
1、首先看下 phpize命令 所在的目录 (ps:我的目录/usr/bin/phpize)
如果没有找到的话 执行安装
yum install php53_devel (ps:请注意自己的版本)
安装完毕后。会生成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、测试是否安装成功
<?php echo pcntl_fork(); ?>
输出:23165
相关文章
php使用json_decode后数字对象转换成了科学计数法的解决方法
这篇文章主要介绍了php使用json_decode后数字对象转换成了科学计数法的解决方法,涉及php操作json格式数据与数值转换相关技巧,需要的朋友可以参考下2017-02-02
解决php-fpm.service not found问题的办法
这篇文章主要给大家介绍了解决php-fpm.service not found问题的办法,文中详细介绍的解决这个问题的思路与过程,分享出来给大家,如果有同样问题的朋友就不用到处找解决办法了,下面来一起看看吧。2017-06-06
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台,需要的朋友可以参考下。2011-08-08
redis查看连接数及php模拟并发创建redis连接的方法
下面小编就为大家带来一篇redis查看连接数及php模拟并发创建redis连接的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12


最新评论