Macbook Proのローカル環境にあるApacheが起動時にエラーが発生してしました。対処策をご説明します。
エラー発生
1 2 3 |
$ sudo apachectl start Password: httpd: Syntax error on line 173 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/lib/httpd/modules/libphp7.so, 10): Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib\n Referenced from: /usr/local/lib/httpd/modules/libphp7.so\n Reason: image not found |
OS X : 10.13.2(17C88)
発生日:2020/3/20
対処策
1 2 3 |
$ brew switch openssl 1.0.2s Cleaning /usr/local/Cellar/openssl/1.0.2s Opt link created for /usr/local/Cellar/openssl/1.0.2s |
これをした後に、もう一度起動するとエラーが発生せずに正常に起動した。
原因
おそらく、python3をhomebrewでインストールした際に、homebrew updateかupgradeが走ってしまったか、私が実行してしまったか、どちらかにより、opensslが意図せずバージョンアップしてしまったためだと推察します。
これは次の記事に書いたrubyでのトラブルと同じ原因です。
rbenv installでエラーが出るときの対処策rbenvでruby 2.1.2をインストールしようとしたらエラーが発生して、思った以上に時間がかかってしまいました。最終的にインストー...
ただ、上の記事の問題は、今回の対処策では解決せずに、他の方法で解決したのが不思議です。
奇妙なopensslのバージョン認識
ちなみに、この時点でopensslの最新版は1.1.1なので、homebrewでインストールした後、 brew switch openssl 1.1.1d すると以下のようにエラーになってしまいます。
1 2 3 |
$ brew switch openssl 1.1.1d Error: openssl does not have a version "1.1.1d" in the Cellar. openssl's installed versions: 1.0.2s |
それでも、Apacheの起動はうまくいきます。不思議ですよね。
opensslのバージョン認識がおかしい点は、先ほど紹介したrubyでの問題の記事に詳しく書いたのでご覧下さい。