这篇文章主要为大家展示了“Linux中php如何添加pcntl扩展”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中php如何添加pcntl扩展”这篇文章吧。
pcntl扩展可以支持php的多线程操作(仅限linux系统)
加载 pcntl 有两种方式
一种重新编译安装,在编译时加,configrue提示加上--enable-pcntl
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-pcntl
另一种格外挂载
由于我的php是采用yum安装的,所以不能采用第一种方式
下面介绍一个php动态添加扩展的方式 phpize
1、首先看下phpize命令所在的目录 (我的目录/usr/bin/phpize)
如果没有找到的话 执行安装
yum install php53_devel (请注意自己的版本)
安装完毕后。会生成phpize命令
2、去php.net下载相应版本的php源文件
http://php.net/releases/index.php
咱们以php-5.3.17 为例吧,解压后,进入相应的模块下
cd /php-5.3.17/ext/pcntl
#先执行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config (请正确的指定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目录里
cd /root/php-5.3.17/ext/pcntl/modules
ls -l pcntl.so
-rwxr-xr-x 1 root root 82375 4月 1 11:38 pcntl.so
编辑/etc/php.ini,加入
extension=pcntl.so
4、重启apache和php
service httpd restart
/etc/init.d/php-fpm restart
5.进行测试是不是安装成功
在网页目录写一个php首页文件如下
<?php
echo pcntl_fork();
?>
输出:23165 证明安装成功
以上是“Linux中php如何添加pcntl扩展”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。