ホストされている phpMyAdmin にアクセスしようとすると、最近問題が発生し始めました。アクセスしようとすると 500 内部サーバー エラーが発生し、予想どおり、ブラウザーに空白のページしか表示されません。
phpMyAdmin のエラー ログを確認したところ、次のエラーが発生していることに気付きました。
PHP Fatal error: Call to undefined function PMA_sanitize() in /usr/share/phpMyAdmin/libraries/Message.class.php on line 541
まず、phpMyAdmin を再インストールしましたが、その後、同じ問題が再び発生する前に、しばらくの間問題なくアクセスできました。
Web を見回したところ、この問題を解決できる可能性のある次のブログを見つけました。私はブログが提案したことを行い、以下を追加しました:
require_once('./libraries/sanitizing.lib.php');
次のファイルの先頭に:
/usr/share/phpMyAdmin/libraries/Message.class.php
これはしばらくの間機能しましたが、別の 500 内部サーバー エラーが発生しました。もう一度エラーログを確認したところ、次のエラーメッセージが表示されました。
PHP Fatal error: Cannot redeclare PMA_checkLink() (previously declared in /usr/share/phpMyAdmin/libraries/sanitizing.lib.php:15) in /usr/share/phpMyAdmin/libraries/sanitizing.lib.php on line 35
これらの致命的なエラーに加えて、次の警告メッセージが表示されますが、これらが問題と関係があるかどうかはわかりません。
PHP Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0
PHP Warning: require_once(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/index.php on line 13
PHP Warning: require(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/libraries/common.inc.php on line 52
PHP Warning: require_once(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/libraries/Error_Handler.class.php on line 12
PHP Warning: require_once(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/libraries/Error.class.php on line 12
PHP バージョン 5.3.3、Apache バージョン 2.2.15、mysql バージョン 5.1.61、phpMyAdmin バージョン 3.5.7 を搭載した専用の Centos 6 サーバーを実行しています。
誰かがこれに光を当てることができれば、それは素晴らしいことです!