CentOSの上で走らせているんですが、静的なファイルへのアクセスは問題なく、phpを動かすとSegmentation Faultを吐く。
yum-updatesdがパッケージを更新して何かおかしくなってる?と以前は考えてみたりもしましたが、
現在はyum-updatesdを使っていないのでその可能性は考えにくい。
前回発生したときには原因を特定できてなかったので、これは困ったな…
と思っていたら、下記URLに記載の内容が現在とドンピシャ。
http://thinkit.co.jp/article/736/1?page=0,1
Apacheのログに「SIGHUP」の文字列が残っていたので、
それらのワードをヒントに検索したらヒット。
前回は探し方がまずかったようですね。
要はSIGHUPを発行するとSegmentation Fault出しちゃうPHP Extensionが居ると。
誰だそいつは!ってそこまでは特定できていないのですが…
とかく対策としては、
・ログのローテートにSIGHUPを発行しないApache付属のrotatelogsを使う
・SIGHUPを発行しないようにlogrotateの設定を変更する
と書かれています。
二つ目の方法を採用する場合、
/etc/logrotate.d/httpdに記述されているreloadをrestartに変更すればよさげですね。
/etc/init.d/httpdに記述されているreloadの定義を見てみると、SIGHUPを発行するようになっていました。
で、再現しようとしてみたのですが、発行しまくっても再現できず。
仕方ないのでまたしばらく様子見ですね。
No comments:
Post a Comment