PHPのメモリ上限が少なく設定されている環境で処理を実行すると Fatal error: Allowed memory size of xxxxxx bytes exhaustedに遭遇することがあります。
そういうときはPHPのメモリ使用量の上限を変更するのですが、そのときに設定するパラメータがmemory_limitです。
この記事ではPHPのメモリの使用量を任意の値に設定したり、上限をなくした無制限に設定する方法を紹介します。
現在使用可能なメモリ使用量の設定を確認する
現在PHPに割り当てられているメモリ使用量を確認します。
$ php -i | grep memory_limit
memory_limit => 128M => 128M
メモリ使用量を設定するために、php.iniのパスを確認する
memory_limitはphp.iniに設定されています。そのため、読み込まれているphp.iniがどこにあるかパスを確認しましょう。
$ php -i | grep php.ini
Configuration File (php.ini) Path => /path/to/php/etc
Loaded Configuration File => /path/to/php/etc/php.ini
メモリ使用量を任意の値に変更する
php.iniのmemory_limitを編集して、割り当てたいメモリ量を設定します。
512MBのメモリを割り当てた場合の設定を次に示します。
memory_limit = 512M
メモリ使用量を無制限に変更する
メモリの使用量を無制限にしたい場合は、memory_limitに”-1″を設定します。。
memory_limit = -1
メモリ使用量を変更できたかどうか確認する
設定を変更したら、memory_limitが反映されているかどうかを確認しましょう。
$ php -i | grep memory_limit
memory_limit => -1 => -1