Macに入れたApaceを起動する際にエラーが出て、1日ほど無駄にしてしまいました。対処法を備忘を兼ねてご紹介します。
homebrewにてApacheを入れていて、phpenvにてPHPを入れている環境です。
ある日、何かの都合でbrew upgrade
もしくはbrew update
をしました。どちらか忘れてしまったのですが、全ライブラリを更新するような処理が走ったので、ちょっと怖くなって途中でキャンセルしました。
その後Apacheを起動しようとすると、以下のようなエラーが発生して起動できませんでした。
1 2 |
$ sudo apachectl start httpd: Syntax error on line 173 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/lib/httpd/modules/libphp5.so into server: dlopen(/usr/local/lib/httpd/modules/libphp5.so, 10): Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.60.dylib\n Referenced from: /usr/local/lib/httpd/modules/libphp5.so\n Reason: image not found |
以下はApacheではなくNodeについての記事なのですが、この記事を参考に
npmのエラー解決「dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.60.dylib」
1 |
$ brew upgrade httpd |
をして、もう一度Apacheを起動すると、次のようにエラーが減りました。ただ、Apacheのバージョンは上がってしまいます。
1 2 |
$ sudo apachectl start httpd: Syntax error on line 173 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/lib/httpd/modules/libphp5.so into server: dlopen(/usr/local/lib/httpd/modules/libphp5.so, 10): image not found |
さらに、次の記事を参考に
phpenvのコマンドとphpenv-apache-versionの切り替えコマンド
apxsのパスを確認します。
1 2 |
$ which apxs /usr/local/bin/apxs |
default_configure_options
を編集し、PHPのビルド時のオプションを修正します。
1 |
$ vim .phpenv/plugins/php-build/share/php-build/default_configure_options |
以下を追記します。パスは先ほど確認したものにします。
1 |
--with-apxs2=/usr/local/bin/apxs |
そして対象のバージョンのPHPを削除し、
1 |
$ phpenv uninstall 5.5.31 |
再インストールします。
1 |
$ phpenv install 5.5.31 |
これでエラーが出ずに起動できるようになりました。
1 |
$ sudo apachectl start |