にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/11/10. 16:47:21.

Apacheのエラーログに ioncube_loader_fre_5.2.so が記録される謎は php.ini が原因だった

ウェブサーバ(Apache)のエラーログを眺めていると、「ioncube_loader_fre_5.2.so」というファイルの読み込みに失敗したというログが大量に出ていることに気づきました。
エラーログには、

Failed loading /home/username/www/freshreader/ioncube/ioncube_loader_fre_5.2.so: Cannot open "/home/username/www/freshreader/ioncube/ioncube_loader_fre_5.2.so"

という1行のエラーが山のように記録されていました。
見れば「freshreader」というディレクトリに格納されているioncube関連ファイルを読もうとしていることは分かるのですが、実はこの「freshreader」ディレクトリは既に削除済みなので存在しません。
にもかかわらず、このファイルへのアクセスが大量に存在するのが不思議でした。

エラーログの各行に出ているrefererが様々(google.co.jpなどもある)ので、「外部のどこかのサイトから直接リンクでもされているのかな……?」とも思ったんですが、その場合は上記のような「Failed loading」とか「Cannot open」みたいなエラーにはなりません。
試しにブラウザでこの「ioncube_loader_fre_5.2.so」の位置(URL)にアクセスしてみると、エラーログには、

File does not exist: /home/username/www/freshreader

というエラーが記録されました。つまりファイルに到達する前にそもそもディレクトリが存在しないよ、というエラーが出てくるんですね。
とすると、余計に謎です。

エラーログをもっと調べていくと、どうやらWordPressで生成しているページにアクセスされたときにエラーが出ているっぽいことが分かりました。
つまり、PHPですね。
PHPが実行されるたびにこのエラーが出てくるようです。

php.iniファイルにioncube_loader_fre_5.2.soを読む記述が存在した

いろいろ調べた結果、PHPの設定ファイルである「php.ini」ファイル内に、以下の記述が残っていたことが原因だと分かりました。

zend_extension = /home/username/www/freshreader/ioncube/ioncube_loader_fre_5.2.so

なるほど。
この記述があるから、PHPが実行されるたびに(つまりWordPressにアクセスされるたびに)「ioncube_loader_fre_5.2.soが読めないぞ」というエラーが出ていたんですね。
php.iniから上記の行を削除すると、このエラーは一切発生しなくなりました。

たぶん、freshreader(※既に開発が停止されているRSSリーダー)を導入する際に、php.iniファイルに上記の1行が加えられてしまっていたのでしょうね。
まさかそんなところが書き換わっていたとは。^^;

というわけで、もしApacheのエラーログに「ioncube_loader_fre_5.2.so」が読めないと記録されるようなら、サーバ上の「php.ini」ファイルを覗いてみて下さい、という話でした。

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---