このブログのサーバーでPHPの「500 Internal Server Error」が発生しました。
常にエラーが出るわけでなく、ここ最近たまに出るエラーです。
このページは動作していませんblog.ezic.info では現在このリクエストを処理できません。HTTP ERROR 500
このままだと分からないので「.htaccess」のPHPエラー表示をオンにしました。
php_flag display_errors On
次に同様のエラーが出るまでページ変移しました。
するとエラー内容が表示されました。
Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 12288 bytes) in /**********/*****.php on line 1809
Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 135168 bytes) in /**********/*****.php on line 118
これは予想通りメモリーの割当オーバーです。
PHPのメモリ設定を変更することにしました。
メモリ設定を変更する場合は、現在の仕様リソースや、ハードウェアに搭載された物理メモリ量を十分考慮して設定します。
PHPのメモリ設定変更
「php.ini」の設定変更
php.iniの設定の設定で、メモリの上限を変更しました。
※変更後はウェブサーバーのサービス再起動する
memory_limit = 128M
「.htaccess」の設定変更
私は実施しませんでしたが、「php.ini」の変更が不可能な場合、「.htaccess」で設定します。
php_value memory_limit 128M
WordPressの場合
WordPressサイトの場合、「wp-config.php」にも設定可能です。
コードがない場合は追記、コードがあってメモリ量が足りなければ増やすよう修正します。
define('WP_MEMORY_LIMIT', '128M');