4

我正在将 laravel/horizo​​n 与 Osx MAMP pro 一起使用

当我运行它需要的作曲家时laravel/horizon:~1.0

它显示一条消息 -

laravel/horizo​​n v1.0.8 需要 ext-pcntl * -> 您的系统中缺少请求的 PHP 扩展 pcntl。

我检查了文件夹/Applications/MAMP/bin/php7.1.1/php/ext,它不包含 pcntl 扩展名。

我怎样才能安装它?

4

3 回答 3

24
  1. 从http://www.php.net/releases/下载 php
  2. tar -xzvf php-7.2.1.tar.gz
  3. cd php-7.2.1/ext/pcntl
  4. /Applications/MAMP/bin/php/php7.2.1/bin/phpize
  5. 正如@drawjoh 提到的./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config --prefix=/Applications/MAMP/bin/php/php7.2.1/bin/php
  6. make && make install
  7. 终端显示

Installing shared extensions: /Applications/MAMP/bin/php/php7.2.1/lib/php/extensions/no-debug-non-zts-20170718/

  1. 打开 MAMP PRO menu->File ->Edit Template->PHP->7.2.1extension=pcntl.so在 php.ini 文件末尾添加。

  2. 运行命令php --ri pcntl并显示 pcntl pcntl support => enabled

于 2018-05-10T05:48:41.970 回答
2

只是一个补充。也许您按照上述步骤操作仍然无法将其安装到/Applications/MAMP/bin/php/php7.2.1/lib/php/extensions/no-debug-non-zts-20170718/. 这是我所做的对我有用的事情。

我在标志--with-php-config之前添加了它,它起作用了。--prefix请参见下面的步骤。

  1. 从http://www.php.net/releases/下载你的 MAMP php 版本我的是 php7.2.22

打开您的终端并 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/

然后你可以重复上面的最后两个步骤。

于 2020-08-22T11:54:40.663 回答
0

您可以从这里下载预编译的扩展https://github.com/khanakiaphp/mamp_extensions

于 2021-02-05T07:01:20.523 回答