🍣
phpのインストール(phpenv)でopenssl関連のエラーが発生したとき(Mac OS)
概要
macOS で phpenv を使って php(7.3)をインストールしようとしたときに、以下のようなエラーがでました。
make: ***[ext/openssl/openssl.lo] Error 1
openssl をインストールしていなかったときに発生するエラーとは違うみたいです(この場合は普通にインストールして直るみたい)。
configure: error: Cannot find OpenSSL's <evp.h>
解決策として正解なのかわかりませんが、自分は後述する方法で解決できましたので記事を作成します。
解決策
openssl@1.1をインストール
openssl v1.1 をインストールします。ほかのバージョンでもよいかもです。
brew install openssl@1.1
ビルド時の設定を追加してインストール
環境変数の設定に--with-openssl=$(brew --prefix openssl@1.1)
を追記して php をインストールします。
export PHP_BUILD_CONFIGURE_OPTS="\
--disable-fpm \
--disable-phpdbg \
--enable-debug \
--with-bz2=$(brew --prefix bzip2) \
--with-curl=$(brew --prefix curl) \
--with-gettext=$(brew --prefix gettext) \
--with-gmp=$(brew --prefix gmp) \
--with-iconv=$(brew --prefix libiconv) \
--with-icu-dir=$(brew --prefix icu4c) \
--with-jpeg-dir=$(brew --prefix jpeg) \
--with-libedit=$(brew --prefix libedit) \
--with-libxml-dir=$(brew --prefix libxml2) \
--with-libzip=$(brew --prefix libzip)
--with-mcrypt=$(brew --prefix libmcrypt) \
--with-png-dir=$(brew --prefix libpng) \
--with-readline=$(brew --prefix readline) \
--with-tidy=$(brew --prefix tidy-html5) \
--with-xsl=$(brew --prefix libxslt) \
--with-zlib=$(brew --prefix zlib) \
--with-openssl=$(brew --prefix openssl@1.1) \
--with-kerberos"
phpenv install 7.3.29
Discussion