10.8 Mountain Lion から 10.9 Mavericksへアップグレードしたらapacheのphpサイトが死んだ
バーチャルホストで用意してある複数のサイトのうち、htmlのサイトは平気なのに
phpのサイトだけ
[notice] child pid XXX exit signal Segmentation fault (11)
これがでる。
クラッシュレポートを見てみると、libphp5.soの読み込みの途中で息絶えてた。
アップグレードで再インストールされたApacheとPHPのバージョンが合ってない?
と思いphpのバージョンを5.5へあげてみる。
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
んで、LoadModule php5_moduleを以下に変えてみた。
/usr/local/php5-5.5.XXXX/libphp5.so
結果、動作するようになった!と思いきや、アプリケーション内で使用してる
aws-sdkのSimpleDBのとこで
Maximum function nesting level of XXX reached, aborting!
を返す。
Fixed circular to string method in simplexml #39
https://github.com/amazonwebservices/aws-sdk-for-php/pull/39
PHP 5.3.10では出ないけど、PHP 5.4.7で発生するエラーらしい。
Fixed案件なのでSDKのバージョンを上げれば解決なんですが、ここはPHPの
バージョンを5.3に落とすことにした。
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.3
そしてlibphp5.soを5.3に差し替え。ようやく動作するようになりました。
ここまでありつくのに、gdbで動作させたり、その準備でXcodeのコマンド
ラインツールいれたりと無駄にすごい時間を費やしてしまった。