httpd で segmentation fault 11 発生

Pocket

皆さんも好きなディストリあったりしますよね?
Kondara Linux を使っていた位なので Momonga Linux にも愛着があります

でも、会社ではディストリが指定される場合があったりしますよね
そのため、会社ではCentOS 6.2 を使ったりしてます

その CentOS でWordPress を使った時に困ったお話
以前あったサーバーのリプレイスだったので、apache や php はレポジトリのをそのままインストール
Momongaのレポジトリにはなかった eAccelerator があったので、これもインストール

WordPress のデータベースとファイルを旧サーバーからコピーして設定完了!

ところが、WordPress の管理ツールを見てみると正しく表示されない。。。

httpd のエラーログを見てみると、

$ sudo tail -f /var/log/httpd/error_log
[Sun Apr 08 18:17:25 2012] [notice] child pid 29259 exit signal Segmentation fault (11)
[Sun Apr 08 18:18:09 2012] [notice] child pid 29847 exit signal Segmentation fault (11)
[Sun Apr 08 18:18:11 2012] [notice] child pid 29260 exit signal Segmentation fault (11)
[Sun Apr 08 18:35:03 2012] [notice] child pid 29863 exit signal Segmentation fault (11)

httpd が segfault しています。
旧サーバーの設定と合わせてみましたが、解決しません
こういう時って、困っちゃいますよね

こういう場合はパッケージのライブラリ間の不整合の場合が多いので、
リビルドしてインストールすると正しく動く可能性が高い
eAccelerator が一番怪しそうなソフト。

eAccelerator って、php と apache に依存しそうですよね
apache と php がレポジトリで更新されたとしても、eAccelerator のバージョンが更新されなかった場合、
レポジトリ上の eAccelerator は古い apache や php に紐付いたまま。
そう考えて、eAccelerator を無効化してみる。

管理ツールにアクセスしてみると、無事表示できる!

ソースを eAccelerator のサイトからダウンロードしてインストール

$ unzip eaccelerator-0.9.6.1.zip
$ cd eaccelerator-0.9.6.1
$ phpize
$ ./configure
$ make
$ make test
$ sudo make install
$ sudo cp -a eaccelerator.ini /etc/php.d/

最後に apache の再起動

$ sudo service httpd restart

問題なく動いたー!
ソースからじゃなく、php-eaccelerator の src rpm をリビルドすればよかったと後悔・・・。

コメントを残す