我想知道如何在 Ubuntu 服务器 16.04 上运行的 PHP7 中启用 pcntl 扩展。
我看到了 http://www.crimulus.com/2010/07/30/howto-enable-pcntl-in-ubuntu-php-installations/但是我们真的必须重新编译 PHP7 吗?
这让我感到惊讶,因为其他扩展通常很容易使用 apt-get 添加。
谢谢
最佳答案
对于 ubuntu 18 和 20:
1- php -v
例如结果:PHP 7.4.10
2- sudo wget https://www.php.net/distributions/php-7.4.10.tar.gz
将 7.4.10 替换为您的 php 版本。
3- sudo tar xfz php-7.4.10.tar.gz && sudo rm -rf php-7.4.10.tar.gz
将 7.4.10 替换为您的 php 版本。
4- cd php-7.4.10/ext/pcntl/
将 7.4.10 替换为您的 php 版本。
5- sudo phpize
如果未安装 phpize,您可以使用 apt install php7.0-dev
安装它
6- sudo ./configure --with-php-config=/usr/bin/php-config
7- sudo make && sudo make install
结果必须像 Installing shared extensions: /usr/lib/php/20190902/
8- cd ../../../ && sudo rm -rf php-7.4.10
将 7.4.10 替换为您的 php 版本。
9- cd /etc/php/7.4
将 7.4 替换为您的 php 版本。
10- sudo sh -c "echo 'extension=pcntl.so' > ./mods-available/pcntl.ini"
11- sudo nano ./cli/php.ini
然后添加 extension=pcntl
.
为 sudo nano ./apache2/php.ini
重复此工作或 sudo nano ./fpm/php.ini
.
12- 以上所有 php.ini
有disable_functions
其中包括 pcntl
字首。您必须启用您想要的。
13-重启你的apache2或fpm:sudo service apache2 restart
sudo service php7.4-fpm restart
将 7.4 替换为您的 php 版本。
14-您可以通过die(extension_loaded('pcntl'));
查看在 test.php 中
注意:如果出现错误:PHP Warning: Module 'pcntl' already loaded in Unknown on line 0
, 删除 extension=pcntl
仅在 cli/php.ini
关于php-7 - 如何在 Ubuntu 服务器 16.04 上启用 PCNTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40408152/