PHP | Allowed memory size of エラーの原因と修正案

PHP,PHP エラー

PHPで発生するエラー「Allowed memory size of *** bytes exhausted」が発生する原因と対処・修正案について紹介しています。

Fatal error: Allowed memory size of *** bytes exhausted in ~
致命的なエラー:***バイトの許容メモリサイズが使い果たされました

Allowed memory size of エラーの発生原因と修正案

Allowed memory size of *** bytes exhaustedというPHPエラーはphp.iniやPHPコードで指定している最大メモリより大きなファイルを扱おうとした際に発生するエラーです。

対象のファイル形式は画像からCSV、あるいはPHPファイルでも発生する可能性があります。

エラーコード内にある「*** bytes 」のバイト数は現在許容可能なメモリサイズになります。

このエラーは致命的なエラー(Fatal error)に分類されています。

例えば、以下のPHPコードのようにするとAllowed memory size of *** bytes exhaustedエラーが発生します。

このエラーを修正するには、エラーの元となっているファイルのサイズを軽減するか、php.iniまたはphpコード内で許容するメモリサイズの上限を変更する必要があります。

php.iniで設定する方法は以下の通りです。
レンタルサーバーであれば殆どの場合はコントロールパネルからphp.iniを編集できるはずです。

memory_limit = 512M

ルートドメイン以下全体のメモリ許容範囲を変更するのではなく、ひとつのPHPファイルのみ指定する場合はPHPコードにini_set()関数を使って指定する事が可能です。

ini_set('memory_limit', '512M');

変更した値が反映されているのかをphpinfo()で確認します。

phpinfo();

phpinfo()にて「Core」のグループにて「memory_limit」の値を確認する事が可能です。
ページ内検索する事で発見できると思います。

memory_limitの値を確認する
memory_limitの値を確認する

PHP,PHP エラー

Posted by Yousuke.U