web-dev-qa-db-ja.com

OSXでMAMPを使用してPHP 7.2のgmp拡張機能をインストールする方法

OSXで [〜#〜] mamp [〜#〜] を使用してPHP 7.2.1のgmp拡張機能をインストールする方法

楕円曲線デジタル署名アルゴリズム(ECDSA)とP-256曲線およびSHA-256ハッシュアルゴリズムを使用して、phpとこのライブラリ( lcobucci/jwt )でトークンを暗号化しようとしています。

phpスクリプト実行時のエラー:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'Mdanter\Ecc\EccFactory' not found

mdanter/eccdependicyパッケージがないと思ったので、次のコマンドを実行してみました。

コマンド実行中:

composer require mdanter/ecc

出力:

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

私はこのエラーを調査し、MAMPに関連するすべての情報を試しました。しかし、私はこの問題を解決できませんでした。 MAMPにgmp php拡張機能を具体的に追加した経験があり、私を助けてくれる人はいますか?

注:私は非常に経験豊富なWeb開発者ではありません。主にiOSアプリを作成し、phpでトークンを生成したいので、Apple Music Kit APIリソースにアクセスできます。

13
Lloyd Keijzer

phpソースコードからgmp拡張をビルドする必要があります。

コンパイラツールチェーン、gmp lib、およびautoconfをインストールするには、Xcodeと homebrew が必要です。

brew install autoconf gmp

私のMAPPはphp 7.2.8に付属しているので、このphpバージョンを例として使用します。MAPPインストールをアップグレードするか、7.2.1に関連するバージョンを置き換えることができます。 ダウンロード とphp(7.2.8)のソースコードをディレクトリに解凍し、ビルド環境を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
12
georgexsh