Как установить расширение gmp для php 7.2, используя MAMP на OSX - PullRequest
0 голосов
/ 20 мая 2018

Как установить расширение 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 зависимость, поэтому я попытался выполнить следующую команду.

выполнение команды:

composer require mdanter/ecc

вывод:

mdanter/ecc v0.5.0 requires ext-gmp * -> the requested PHP extension gmp is missing from your system

Я перепробовал все, что смог найти, исследуя этоошибка и связана с MAMP.Но я не мог решить эту проблему. Есть ли здесь кто-нибудь, кто имеет опыт добавления расширения gmp php в MAMP специально и готов помочь мне?

Примечание: я не очень опытный веб-разработчик, я в основномсоздайте приложения для iOS, и я хочу создать токен в php, чтобы я мог получить доступ к ресурсам API Apple Music Kit.

1 Ответ

0 голосов
/ 28 сентября 2018

вам нужно собрать расширение 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 in /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
...