msksgm’s blog

msksgm’s blog

Webエンジニアです.日々の勉強,読書,映画観賞,美術観賞の記録を載せます.

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

概要

MacOS で phpenv を使って php(6.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