Linux系统中为php添加pcntl扩展

5年以前  |  阅读数:532 次  |  编程语言:PHP 

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
文件下载
获取IMEI
贪吃蛇
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例