php添加pcntl扩展(Linux)

pcntl扩展能够支持php的多线程操做(仅限linux)
本来须要从新编译PHP的后面configrue提示加上--enable-pcntl php

因为个人php是采用yum安装的,因此不能采用上面的方式
下面介绍一个php动态添加扩展的方式 phpize

一、首先看下 phpize命令 所在的目录  (ps:个人目录/usr/bin/phpize)
若是没有找到的话 执行安装
yum install php53_devel   (ps:请注意本身的版本)
安装完毕后。会生成phpize命令   

二、去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

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

编辑/etc/php.ini,加入
extension=pcntl.so

四、重启apache

service httpd restart

五、测试是否安装成功

<?php
    echo pcntl_fork();
?>

输出:23165 linux

另附: apache

pcntl扩展能够支持php的多线程操做.
本来须要从新编译PHP的后面configrue提示加上--enable-pcntl
为了省事直接编译算鸟.
# cd /usr/local/src/php-5.2.6/ext/pcntl
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
pcntl.so  加到php.ini中OK 多线程

相关文章
相关标签/搜索