PHPモジュール、suhosinパッケージの読み込みエラーを修正しました。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/suhosin.so' - /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
こんなエラーメールが毎時09分と39分に自宅のwebサーバーから送られてきます。
実はかなり前から送られてるのですが、面倒なのでそのままにしていました。
さすがに、そろそろ対応しようと思います。
読み込もうとしている、/usr/lib/php5/20100525+lfs/suhosin.so が、本当にあるか確認してみます。
debian:~# ls -la /usr/lib/php5/20100525+lfs/
合計 468
drwxr-xr-x 2 root root 4096 2014-05-24 22:44 .
drwxr-xr-x 4 root root 4096 2014-05-24 22:44 ..
-rw-r--r-- 1 root root 91564 2014-04-19 07:07 gd.so
-rw-r--r-- 1 root root 38336 2014-04-19 07:07 mcrypt.so
-rw-r--r-- 1 root root 46512 2014-04-19 07:07 mysql.so
-rw-r--r-- 1 root root 128460 2014-04-19 07:07 mysqli.so
-rw-r--r-- 1 root root 108084 2014-04-19 07:07 pdo.so
-rw-r--r-- 1 root root 30276 2014-04-19 07:07 pdo_mysql.so
suhosin.soというファイルは存在していないのでエラーがでるのは当たり前ですね。
そもそもPHPのsuhosintモジュールて何者なのでしょう。
Suhosin は PHP 導入環境向けの高度な防御システムです。
PHP アプリケーションや PHP の中核部分にある既知や未知の欠陥からサーバやユーザを守るために設計されました。
Suhosin は二つの独立した部分から成り、それぞれ別々に利用したり組み合わせて使えます。
一つ目は PHP の中核部分に対する小さなパッチで、これはバッ ファオーバーフローや書式指定文字列の脆弱性に対する低レベルの防御をいくつか実装しています。
二つ目は他のすべての防御を実装する強力な PHP 拡張です。
PHPの脆弱性をカバーするセキュリティーパッチのようです。
Debianではwheezyから削除された模様で、アップグレードの際に設定のファイルのみが残ってしまったため、前述のエラーが発生しているのでしょう。
まずは、現在のパッケージの状況を確認してみます。
debian:~# dpkg -l php5-suhosin
||/ 名前 バージョ アーキテ 説明
+++-==============-============-============-=================================
rc php5-suhosin 0.9.32.1-1 i386 advanced protection module for ph
rcとなっていて現在は未設定となっています。
パッケージを完全削除します。
debian:~# dpkg --purge php5-suhosin
(データベースを読み込んでいます ... 現在 24562 個のファイルとディレクトリがイン ストールされています。)
php5-suhosin を削除しています ...
php5-suhosin の設定ファイルを削除しています ...
libapache2-mod-php5 のトリガを処理しています ...
Reloading web server config: apache2.
もう一度パッケージの状態を確認してみます。
debian:~# dpkg -l php5-suhosin
||/ 名前 バージョ アーキテ 説明
+++-==============-============-============-=================================
un php5-suhosin <なし> (説明 (description) があり
これでエラーは発生しなくなったハズです。
apt-get よりは、dpkg を使ったほうが今回のようにパッケージ関係が変になった時は有効です。
ではでは~☆ミ