想添加个php多进程任务,突然发现服务器上php不支持pcntl扩展,再看了下也没有phpize这个模块
首先看下当前php版本
[root@htest ~]# php -v PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
安装扩展phpize这个模块还是比较重要的
yum install php-devel
查看下phpize安装的位置(/usr/bin/phpize)
[root@htest ~]# which phpize /usr/bin/phpize
去php.net下载相应版本的php源文件,这边是php5.3.3
wget http://museum.php.net/php5/php-5.3.3.tar.gz tar -zxvf php-5.3.3.tar.gz cd php-5.3.3/ext/pcnt
执行phpize,编译安装
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make
make install
编译完毕后会生成了一个 pcntl.so的文件。在php的model目录里
编辑
vi /etc/php.ini
加入
extension=pcntl.so
重启
service php-fpm restart
service nginx restart
测试是否安装成功
<?php echo pcntl_fork(); ?>
输出:21152
好了 现在可以使用了。