为PHP安装PCNTL模块,无需重新编译

是否有可能安装pcntl模块而不重新编译php? 我正在尝试在CentOS上进行设置。

尝试用yum命令yum search pcntl查找模块

我一直无法通过一个软件包pipe理器来完成这个工作,而yum search pcntl找不到任何匹配,即使设置了一些额外的软件仓库。

我最终find了一种不需要重新安装PHP的方法,尽pipe它最终只需要一点点的重新编译。 在这里find一个post提到了一个简单的编译方式,并启用pcntl扩展(稍微编辑和重新格式化的post):

 Get your current php version (check phpinfo()) Get the sources for that version here: http://www.php.net/releases/ Extract this file; you will got folder name like php5-xxx Run following lines in terminal: cd php5-xxx/ext/pcntl phpize ./configure make cp modules/pcntl.so /usr/lib/php/modules/ echo "extension=pcntl.so" > /etc/php.d/pcntl.ini restart apache Note: if your /usr/lib/php/modules/ or /etc/php.d/ is not same as this, you could try 'locate php/modules' or 'locate php.d' 

pcntl模块位于php-cli包中,可以使用以下命令通过yum进行安装:

 sudo yum install php php-cli 

检查是否启用了此扩展。

 php -m 

要么

 php-fpm -m 

如果不存在,那么您应该在构build期间启用它,或者将其构build为扩展。

http://www.php.net/releases/下载你现有的PHP版本库(无论你在哪里下载和提取,你都可以下载到本地机器上,只需要将ext / pcntl复制到某个地方服务器)

提取下载的文件夹(例如:/home/downloads/PHP_5.xx/)

 cd /home/downloads/PHP_5.xx/ext/pcntl phpize ./configure make cp modules/pcntl.so /usr/local/lib/php/extensions/ 

[*这个path取决于你的PHP安装/configuration。 您可以在php.ini或echo phpinfo()中查看PHP扩展path。 ]

 echo "extension=pcntl.so" > /usr/local/lib/php.ini 

或者将“extension = pcntl.so”行添加到你的php.ini中

 vim /usr/lib/php.ini 

[*再次取决于你的PHP安装。 你可以在php.ini或echo phpinfo()中findphp.inipath。 ]