PHPのプログラムや何かサービスを作っていて
下記のようなエラーメッセージが出るときがある。
Fatal error: Allowed memory size of 6777216 bytes exhausted (tried to allocate 8965128 bytes) in /usr/share/php/HTTP/Request.php on line 878
単純にPHPのメモリーリミットが足りないよって事らしい。
使用するメモリーが上限以内であれば php.ini の memory_limitの数値を増やせばいいんだけど
増やしてもエラーが直らない時がる。
そんなんときは
memory_limit の値を -1 にすべし!
下記PHPマニュアルより
リソース制限
名前:memory_limt
デフォルト:128M
変更の可否:PHP_INI_ALL
変更履歴:PHP 5.2.0 より前は “8M”、PHP 5.2.0 では “16M”以下に設定ディレクティブに関する簡単な説明を示します。
memory_limit integer
スクリプトが確保できる最大メモリをバイト数で指定します。
この命令は、 正しく書かれていないスクリプトがサーバーのメモリを食いつぶすことを防止するのに役立ちます。
もし、使用可能メモリに制限を設けたくない場合は、 ここに -1 を指定してください。PHP 5.2.1 より前のバージョンでは、このディレクティブを使うためには
コンパイル時に configure で –enable-memory-limit を指定しなければなりません。
これは、関数 memory_get_usage() および memory_get_peak_usage() を使用する際にも必要となります。
integerを使用する際、その値はバイト単位で測られます。
この FAQ に記載された短縮表記を使用することも可能です。
コメントを残す