我正在使用laravel/Horizon与OSX Mamp Pro
当我运行作曲家时,需要laravel/horizon:~1.0
它显示一条消息 -
Laravel/Horizon V1.0.8需要Ext -Pcntl * - >请求的PHP您的系统缺少扩展PCNTL。
我检查了文件夹/Applications/MAMP/bin/php7.1.1/php/ext
,它不包含PCNTL扩展名。
如何安装?
- 从http://www.php.net/releases/ 下载php
-
tar -xzvf php-7.2.1.tar.gz
-
cd php-7.2.1/ext/pcntl
-
/Applications/MAMP/bin/php/php7.2.1/bin/phpize
- 作为 @ drewjoh
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config --prefix=/Applications/MAMP/bin/php/php7.2.1/bin/php
-
make && make install
- 终端显示
Installing shared extensions: /Applications/MAMP/bin/php/php7.2.1/lib/php/extensions/no-debug-non-zts-20170718/
-
打开Mamp Pro菜单 - > file-编辑模板 - > php-> 7.2.1在php.ini文件末尾添加
extension=pcntl.so
。 -
运行命令
php --ri pcntl
并显示pcntl pcntl support => enabled
只是一个添加。也许您遵循上述步骤,但仍然无法将其安装到/Applications/MAMP/bin/php/php7.2.1/lib/php/extensions/no-debug-non-zts-20170718/
。这是我所做的对我有用的事情。
我在--prefix
标志之前添加了--with-php-config
,并且它起作用。请参阅下面的步骤。
- 从http://www.php.net/releases/mine下载您的MAMP PHP版本
将终端和CD打开到您的下载文件夹中。然后运行此命令以解压缩tar.gz文件
tar -xzvf php-7.2.22.tar.gz
CD在解压缩后进入PCNTL目录。
cd php-7.2.22/ext/pcntl
运行从终端运行下一行以配置PHP API,Zend Module API和Zend Extension API。
/Applications/MAMP/bin/php/php7.2.22/bin/phpize
然后运行
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.22/bin/php-config --prefix=/Applications/MAMP/bin/php/php7.2.22/bin/php; make && make install;
您应该看到
Installing shared extensions: /Applications/MAMP/bin/php/php7.2.22/lib/php/extensions/no-debug-non-zts-20170718/
然后您可以重复上面的最后两个步骤。
您可以从此处下载预编译的扩展程序