【PHP】memory_limitの上限を無制限(任意)に設定する方法

PHP

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