2020/06/30

Macでphpenvを使って7.2系のphpをインストールする

php

概要

phpはインストールするのに依存関係が複雑で大変です。
phpenvでのインストールも結構厄介で、いつもエラーになるのでメモを残しておきます。

今回は、composerでライブラリをインストールしようとしたら以下のようなエラーに遭遇したので、 gmp をインストールしたあと、phpを入れ直しました。

the requested PHP extension gmp is missing from your system

インストール手順

gmpをインストール

% brew install gmp

メモ

以前7.2系をインストールした時に以下は実施済です。

% brew install autoconf bison bzip2 curl icu4c libedit libjpeg libiconv libpng libxml2 libzip openssl re2c tidy-html5 zlib libmcrypt

php7.2をインストール

% CONFIGURE_OPTS="--with-gmp=$(brew --prefix gmp) --with-zlib-dir=$(brew --prefix zlib) --with-bz2=$(brew --prefix bzip2) --with-curl=$(brew --prefix curl) --with-iconv=$(brew --prefix libiconv) --with-libedit=$(brew --prefix libedit) --with-readline=$(brew --prefix readline) --with-tidy=$(brew --prefix tidy-html5)" phpenv install 7.2.8

...
[Success]: Built 7.2.8 successfully. # 7.2.8のビルドに成功しました

ポイントとしては、phpenvのinstallオプションである、CONFIGURE_OPTSで --with-gmp オプションを設定します。
値は、gmpがインストールされているPath(brew --prefix gmp で取得可能)を設定します。

こちらで、php 7.2.8がインストールされ、以下の設定をすると、7.2.8が使えるようになります。

% phpenv local 7.2.8

以上になります。