【PHPエラー備忘録】HTTP ERROR 500「Allowed memory size of xxxxxxxxx bytes exhausted」

Laravelで開発中にエラーが発生しました。

このページは動作していません

★環境
 ベースOS:Linux(CentOS7)
 ウェブサーバー:Apache 2.4
 PHP:7.4

Laravelでは、デバッグモードをオンにしていれば、エラー箇所が表示されます。

デバッグモードはオフでしたが、通常であればLaravelから「InternalServerError500」のページが表示されますが、完全にアプリケーションレベルではない落ち方をしました。

エラーはApacheのエラーログ「/var/log/error.log」より確認しました。

Allowed memory size of 134217728 bytes exhausted

以前も同じようにメモリ不足だったため、割当を増やしたばかりです。

あわせて読みたい
【PHPエラー備忘録】Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocat... このブログのサーバーでPHPの「500 Internal Server Error」が発生しました。 常にエラーが出るわけでなく、ここ最近たまに出るエラーです。 このページは動作していま...

今回も足りなかったようです。

もっとも、今回実行したプログラムは、頻繁に使用するものではなく、データ更新時に手動で実行するものなので、Apache全体のメモリの割当を増やすのでなく、該当プログラムでのみメモリの割当を変えることにしました。

// 一時的にメモリの使用量を変更
ini_set('memory_limit', '256M');

当該プログラムにはさみ、現在の倍のメモリを割り当てたらエラーがなくなりました。

メモリはプログラムの実行が終われば自然に開放されますが、明示的に変数を破棄する事で開放する事も可能です。

// 明示的にメモリを開放
unset($var);
よかったらシェアしてね!
目次
閉じる