注目キーワード
  1. 技術
  2. 広告
  3. IDFA
  4. PHP
  5. WordPress

PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted と出たときの対処法

  • 2021年2月12日
  • 2021年2月19日
  • 技術
  • 0件

PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted と出た

phpでプログラムを実行した際に、エラーになり、エラーログには、下記のように表示されていました。

PHP Fatal error:  Allowed memory size of xxxxxx bytes exhausted

これは、phpのプログラム内で大量のデータを扱って処理している場合、メモリ不足が発生すると、Fatalエラーになります。

メモリの設定数値を確認してみます。設定はphpの設定ファイル、php.iniに書かれています。
php.ini のファイルの場所を確認します。

$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

/etc 以下にあることが分かりました。

$ cat /etc/php.ini | grep memory_limit
memory_limit = 128M

メモリの上限値は、128Mになっていることが分かりました。プログラム内で、この値を超える処理量になっているため、エラーが発生しているようです。

PHPのメモリ使用量を確認する方法

PHPのメモリ使用量を確認する方法を記載します。

echo 'メモリ使用量: ' .  memory_get_usage() / (1024 * 1024) . 'MB';
echo 'メモリ最大使用量: ' .  memory_get_peak_usage() / (1024 * 1024) . 'MB';

プログラム内に上記を埋め込むことで出力することができますので、確認してみてください。

PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted の解消方法

メモリ不足が起きていますので、上限値を引き上げます。php.ini から設定を変更しましょう。

$ vim /etc/php.ini
memory_limit = 512M

512Mに引き上げました。

$ cat /etc/php.ini | grep memory_limit
memory_limit = 512M

上がっていることを確認できました。