Macを再起動して普段通りapacheを起動しようとしたら次の様なエラーが表示されるようになってしまいました。先方の環境に合わせてPHP56です
$ sudo apachectl start httpd: Syntax error on line 170 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load /usr/local/opt/php56/libexec/apache2/libphp5.so into server: dlopen(/usr/local/opt/php56/libexec/apache2/libphp5.so, 10): image not found
HomebrewでインストールしてあるPHP56のディレクトリ(/usr/local/opt/php56/
)を見に行くと、libexec ディレクトリが無くlibphp5.so
が存在していませんでした。※ Macシャットダウン・再起動で消えたのか定かではありません。Macの再起動前までは問題なくApacheは起動していたのですが...
PHP56を再インストールしたら解決
HomebrewでPHP56を一度アンインスールし、--without-ldap
、--with-httpd24
オプションを付けてPHP56を再インストールしたらlibphp5.so
が作られ問題が解決しました。
$ brew uninstall php56 $ brew install php56 --without-ldap --with-httpd24
参考にしたGitHubのissueには--without-ldap
だけでOKのような感じだったのですが、今回の場合、--with-httpd24
オプションを指定しないとlibphp5.so
が生成されることはありませんでした。
しかし、なぜ突然この問題が発生したのかが謎です...
追記
PHP56を再インストールしたらlocal環境のWordPressでデータベース接続エラーになってしまいました。どうやらlocalhostのDBに接続できなくなっていたようなのでで、php.ini
のmysql.sock関連を指定してあげる必要があるようです。
php.iniは/usr/local/etc/php/5.6
にあります。
mysql.default_socket =
に mysql.sock のパスが記されているので、下記の箇所もこのパスを指定します。
mysqli.default_socket =
pdo_mysql.default_socket =
参考: [php]mysqliでNo such file or directoryが出る
[参考]
- where is libphp5.so on latest php56? · Issue #3714 · Homebrew/homebrew-php · GitHub
- Can't Find libexec/apache2/ folder · Issue #3601 · Homebrew/homebrew-php · GitHub
- https://www.napbuz.com/blog/2017/01/09/homebrew-php56/
↑ 今ならコレ解決できたかもしれない...
ハセガワ 1/48 陸上自衛隊 AH-64D アパッチロングボウ プラモデル PT42
- 出版社/メーカー: ハセガワ
- メディア: おもちゃ&ホビー
- クリック: 8回
- この商品を含むブログを見る