Как установить расширение gmp для php 7.2 с помощью MAMP на OSX
Как установить расширение gmp для php 7.2.1 с помощью MAMP на OSX?
Я пытаюсь зашифровать токен с php и этой библиотекой (lcobucci/jwt), используя алгоритм цифровой подписи эллиптической кривой (ECDSA) с кривой P-256 и алгоритмом хэша SHA-256.
ошибка при запуске php-скрипта:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'Mdanter\Ecc\EccFactory' not found
Я понял, что мне не хватает mdanter/ecc
dependicy, поэтому я попытался выполнить следующую команду.
запуск команды:
composer require mdanter/ecc
выход:
mdanter/ecc v0.5.0 requires ext-gmp * -> the requested PHP extension gmp is missing from your system
Я пробовал все, что мог найти, исследуя эту ошибку и относящуюся к MAMP. Но я не мог решить эту проблему. Есть ли здесь кто-нибудь, кто имеет опыт в добавлении расширения gp php в MAMP и готов помочь мне?
Примечание. Я не очень опытный веб-разработчик, я в основном создаю приложения для iOS, и я хочу создать токен в php, поэтому я могу получить доступ к ресурсам API Apple Music Kit.
Ответы
Ответ 1
Вы должны собрать расширение gmp из исходного кода php.
вам нужен Xcode и homebrew, чтобы установить инструментарий компилятора, gmp lib и autoconf
:
brew install autoconf gmp
так как мой MAPP поставляется с php 7.2.8, я бы использовал эту версию php в качестве примера, вы можете обновить вашу установку MAPP или заменить версию, связанную с 7.2.1. Скачайте и распакуйте исходный код php (7.2.8) в dir, затем настройте среду сборки в соответствии с вашей установкой php и соберите расширение:
cd ext/gmp
/Applications/MAMP/bin/php/php7.2.8/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.8/bin/php-config
make
make install
добавьте конфигурацию загрузки расширений в php.ini
в /Applications/MAMP/bin/php/php7.2.8/conf
:
extension=gmp.so
теперь это будет работать:
/Applications/MAMP/bin/php/php7.2.8/bin/php composer.phar require mdanter/ecc