🍣

phpのインストール(phpenv)でopenssl関連のエラーが発生したとき(Mac OS)

2021/11/29に公開

概要

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