「PHP Fatal error: Allowed memory size of 8388608 bytes exhausted」Nucleusで画面が真っ白
先週金曜にエラー(参照記事)が発生しはじめてから、解決しないまま月曜になった。
ホスティング会社に確認したところ特に問題は起きていないという。Nucleusのサポートフォーラムでも質問してみたが解決せず。
FTPでファイルを見させてもらえば何かわかるかもといわれたが、自らもサポート業をやっている立場としてはやはり自力解決をしたい。
更に調べてみた。
状況は先週と変わっておらず、見られるページがあったりいきなり見られなくなって真っ白なページが表示されたりと非常にランダム。ただ、ひとつだけ気になったのが、なぜかNucleusの管理画面は確実に見られるということ。
ということはプラグインに問題があるのか?とここで、FTPで自らのサーバを見ているとサーバのログが・・・。
何か見てみればわかるかもと思い、error.logをみると・・・。
わかりました!
エラーログには「PHP Fatal error: Allowed memory size of 8388608 bytes exhausted」が多くありました。
これをGoogleで調べると、「このエラーメッセージはサーバメモリ設定制限値を超える割り当てを要求した場合に出されるエラーメッセージ」とのこと。解決策はphp.iniのmemory_limit値をあげてapacheを再起動すればよいのだが、jbar.jpは共用サーバなのでそれはできない。
結果的にはプラグインの読み込みすぎということなのか?
仕方ないので、いくつかプラグインを削除してみたところ、無事に表示するようになりました。よかったです。
サポートフォーラムの藤崎さん、きゃしゃさんありがとうございました。
あとで下記の行を.htaccessに書き込んで回避する方法が使えることがわかりました。ただし、これはホスティング会社のサーバの設定によって使えたり使えなかったりします。
php_value memory_limit 16M
また、.htaccessに下記を追記することで色々な制限やトラブルを解消できる場合があります。これも上記と同様、ホスティング会社の制限によって出来たり出来なかったりします。
php_value memory_limit 20M //PHPの実行メモリの制限を設定できる
php_value upload_max_filesize 20M //アップロードできるファイルの上限サイズを変更
php_value post_max_size 20M //POSTできる最大サイズを変更
php_value max_execution_time 200 //PHPの実行時間を変更
php_value max_input_time 200 //
http://jbar.jp/action.php?action=plugin&name=TrackBack&tb_id=557













