fra*_*lbo 5 ubuntu-server php-7
我想知道如何在Ubuntu服务器16.04上运行的PHP7中启用pcntl扩展.
我看到了这个http://www.crimulus.com/2010/07/30/howto-enable-pcntl-in-ubuntu-php-installations/但我们真的要重新编译PHP7吗?
令我感到惊讶的是,其他扩展通常很容易添加apt-get.
谢谢
小智 10
对于 ubuntu 18 和 20:
php -v
结果例如:PHP 7.4.10
sudo wget https://www.php.net/distributions/php-7.4.10.tar.gz
将 7.4.10 替换为您的 php 版本。
sudo tar xfz php-7.4.10.tar.gz && sudo rm -rf php-7.4.10.tar.gz
将 7.4.10 替换为您的 php 版本。
cd php-7.4.10/ext/pcntl/
将 7.4.10 替换为您的 php 版本。
sudo phpize
如果 phpize 未安装,您可以使用以下命令安装它apt install php7.0-dev
sudo ./configure --with-php-config=/usr/bin/php-config
sudo make && sudo make install
结果一定是这样的Installing shared extensions: /usr/lib/php/20190902/
cd ../../../ && sudo rm -rf php-7.4.10
将 7.4.10 替换为您的 php 版本。
cd /etc/php/7.4
将 7.4 替换为您的 php 版本。
sudo sh -c "echo 'extension=pcntl.so' > ./mods-available/pcntl.ini"
sudo nano ./cli/php.ini
然后加extension=pcntl
。
重复此工作sudo nano ./apache2/php.ini
或sudo nano ./fpm/php.ini
。
上面php.ini
有disable_functions
一个 includepcntl
前缀。您必须启用您想要的一项。
重新启动您的 apache2 或 fpm:
sudo service apache2 restart
sudo service php7.4-fpm restart
将 7.4 替换为您的 php 版本。
die(extension_loaded('pcntl'));
你可以在 test.php 中检查它
注意:如果出现错误:PHP Warning: Module 'pcntl' already loaded in Unknown on line 0
,extension=pcntl
仅删除cli/php.ini
您不需要 apt-get install 其他任何东西。
pcntl 模块在您通过包管理器安装 php 时包含在内,sudo apt update
然后尝试sudo apt-get upgrade
,它可能会有所帮助。您也可以使用它来确认您是否拥有它。
php -i | grep pcntl
//pcntl suppport=>enable
Run Code Online (Sandbox Code Playgroud)
还通过包管理器列出我所有已安装的模块。
sudo apt install php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-imap php7.0-json php7.0-mbstring php7.0-opcache php7.0-readline php7.0-xml
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12966 次 |
最近记录: |