Как установить расширение gmp для php 7.2 с помощью MAMP на OSX

Как установить расширение gmp для php 7.2.1 с помощью МАМП на OSX?

Я пытаюсь зашифровать токен с помощью php и этой библиотеки (lcobucci / jwt) С использованием алгоритма цифровой подписи эллиптической кривой (ECDSA) с кривой P-256 и алгоритмом хэша SHA-256.

ошибка при выполнении PHP-скрипт:

Symfony  Component  Debug  Exception  FatalThrowableError (E_ERROR)
Class 'MdanterEccEccFactory' 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. Но я не мог решить эту проблему. есть ли здесь кто-нибудь, кто имеет опыт добавления расширения GMP php в MAMP конкретно и готов помочь мне?

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

1 ответов


вы должны построить расширение gmp из источника php.

вам нужен Xcode и доморощенного, чтобы установить компилятор toolchain, 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