加载 pcntl 多进程
加载 pcntl 有两种方式 一种重新编译安装,在编译时加 --enable-pcntl ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-pcntl 另一种格外挂载 首先进入到安装包存放目录 # cd /usr/local/src 解压缩安装包 # tar -zxvf php-5.4.16.tar.gz 进入解压缩出来的源码包文件夹中存放 pcntl 的地方 # cd /usr/local/src/php-5.4.16/ext/pcntl 利用已装好的 php 安装目录中 bin 文件夹的 phpize 进行模块扩展命令 # /usr/local/php/bin/phpize 编译,将安装包内的 pcntl 与已安装好的 php 关联,/usr/local/php 为已安装的php路径 # ./configure --with-php-config=/usr/local/php/bin/php-config # make # make install 安装后会提示 安装后文件所在位置 这里是 /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ 然后修改php.ini文件 # vi /usr/local/php/lib/php.ini 在最后一行添加 extension = pcntl.so 按Esc输入:wq 保存退出 pcntl函数一定要在CGI模式下运行 打开CGI模式方法: 修改apache配置文件 # vi /usr/local/apache/conf/httpd.conf 注释掉配置文件中的 LoadModule php5_module modules/libphp5.so 为 #LoadModule php5_module modules/libphp5.so 并在最后一行添加 Action application/x-httpd-php /cgi-bin/php-cgi 按Esc输入:wq 保存退出 如果apache安装目录下的 cgi-bin 文件夹中没有 php-cgi 文件,则从 php 安装目录中的 bin 文件夹下复制过来 # cp /usr/local/php/bin/php-cgi /usr/local/apache/cgi-bin 在CGI 模式下,输出网页时会多出一些额外的内容,为了不显示这些内容修改 php.ini # vi /usr/local/php/lib/php.ini 修改 expose_php = On 为 expose_php = Off 按Esc输入:wq 保存退出 重启 apache # /usr/local/apache/bin/apachectl -k restart 在一个php文件中输出 <?php echo pcntl_fork(); ?> 查看结果如出现数字则安装成功,数字表示子进程id 执行 /usr/local/php/bin/phpize 时如遇到如下错误 Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. 则安装下面两个 yum install m4 yum install autoconf