想添加個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
好了 現在可以使用了。