Как включить расширения pcntl в MAMP pro?

Я использую 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.

Как я могу это установить?


person Evol Rof    schedule 14.12.2017    source источник


Ответы (3)


  1. загрузить php с http://www.php.net/releases/
  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->Файл->Редактировать шаблон->PHP->7.2.1 добавьте extension=pcntl.so в конец файла php.ini.

  2. запустить команду php --ri pcntl и показывает pcntl pcntl support => enabled

person Evol Rof    schedule 10.05.2018
comment
ПРЕДУПРЕЖДЕНИЕ!!! Убедитесь, что вы выполнили шаг 8. Если вы редактируете php.ini в /Applications/MAMP/bin/php/php7.2.1/conf/php.ini, это не сработает. php -m ничего не показывает. Единственный способ - отредактировать файл php.ini в MAMP pro - person Evol Rof; 12.05.2018
comment
Я получил эту ошибку при выполнении make: /Users/ikkez/Downloads/php-7.3.8/ext/pcntl/pcntl.c:32:10: fatal error: 'php.h' file not found ... есть идеи, как это решить? - person ikkez; 26.11.2019
comment
Для тех, кто столкнулся с ошибкой 'php.h file not found... на шаге 5 добавьте --with-php-config= -- так это будет выглядеть так: ./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config --prefix=/Applications/MAMP/bin/php/php7.2.1/bin/php - person drewjoh; 24.02.2020

Просто дополнение. Возможно, вы выполнили указанный выше шаг и все еще не можете установить его на /Applications/MAMP/bin/php/php7.2.1/lib/php/extensions/no-debug-non-zts-20170718/. Вот что я сделал, что сработало для меня.

Я добавил --with-php-config перед флагом --prefix, и это сработало. См. шаг ниже.

  1. загрузите свою версию php MAMP с http://www.php.net/releases/ У меня php7 .2.22

Откройте терминал и перейдите в папку загрузки. Затем запустите эту команду, чтобы распаковать файл tar.gz.

tar -xzvf php-7.2.22.tar.gz

Перейдите в каталог 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/

Затем вы можете повторить последние два шага выше.

person Ifeanyi Amadi    schedule 22.08.2020

Вы можете загрузить предварительно скомпилированные расширения отсюда https://github.com/khanakiaphp/mamp_extensions.

person Aman Bansal    schedule 05.02.2021