MacのApache 2.4が動かない
http://localhost しても 「localhost のサーバーへの接続を確立できませんでした」 状態になるようになった。
ps aux | grep apache
や ps aux | grep httpd
しても何もプロセスが動いていない。
sudo apachectl start
しても /System/Library/LaunchDaemons/org.apache.httpd.plist: Operation already in progress
と言われる。
$ apachectl configtest httpd: Syntax error on line 177 of /private/etc/apache2/httpd.conf: Cannot load local/Cellar/php56/5.6.11_2/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php56/5.6.11_2/libexec/apache2/libphp5.so, 10): Library not loaded: /usr/local/lib/libjpeg.8.dylib\n Referenced from: /usr/local/Cellar/php56/5.6.11_2/libexec/apache2/libphp5.so\n Reason: image not found
おそらく brew update
した関係で apache とか php のバージョンが上がり、なんか動かなくなっているようだ。
環境
とりあえず無いと言われているやつを入れてみる
/usr/local/lib/libjpeg.8.dylib
とやらが無いと言われているので入れてみる。
$ wget -c http://www.ijg.org/files/jpegsrc.v8d.tar.gz $ tar xzf jpegsrc.v8d.tar.gz $ cd jpeg-8d $ ./configure $ make $ cp .libs/libjpeg.8.dylib /usr/local/lib/
そしてもう一回ためす。
$ apachectl configtest AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ysakamoto.local. Set the 'ServerName' directive globally to suppress this message Syntax OK
なんか出ているけど一応 Syntax OK
が出るようになった。
そのまま apachectl start
してみたけどダメだったが、一回stopしてからstartすると成功した。*1
$ sudo apachectl stop $ sudo apachectl start
まとめ
brew update
したらなぜかApacheが動かなくなったが、ライブラリを入れたら動いた- libjpeg 以外のエラーが出るパターンもあるっぽいので、とりあえず対応するライブラリを入れてみるといいかもしれない
- 今回のエラーとはまた別問題なのかもしれないが、似たようなエラーとして https://github.com/Homebrew/homebrew-php/issues/3074 とか https://github.com/Homebrew/homebrew-php/issues/3073 みたいなissueがあるので、読んでみると参考になるかもしれない。*2