- PHP
- 2012-12-12 - 更新:2012-12-15
PHPでファイルを扱う中で、以下のようなエラーが発生することがあります。
Fatal error: Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes) in ...
ファイルの容量が大き過ぎて、PHPに割り当てられているメモリーの範囲を超えてしまっているのです。
php.iniに以下のような行がありますので、この値を変更してあげます。
デフォルトは8Mです。
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
おすすめはしませんが、-1とすると上限なしに設定できるようです。
変更したらapacheを再起動させてください。
php.iniが触れない場合や、基本的な上限は変えたくないときは一時的に変更します。
init_set("memory_limit", "16M");
もしくは.htaccessでも可能です。
php_value memory_limit 16M
以下の記事も参考にしてください
[ファイルアップロードの最大サイズを変更]