Laravelで開発中にエラーが発生しました。
Laravelでは、デバッグモードをオンにしていれば、エラー箇所が表示されます。
デバッグモードはオフでしたが、通常であればLaravelから「InternalServerError500」のページが表示されますが、完全にアプリケーションレベルではない落ち方をしました。
エラーはApacheのエラーログ「/var/log/error.log」より確認しました。
Allowed memory size of 134217728 bytes exhausted
以前も同じようにメモリ不足だったため、割当を増やしたばかりです。
今回も足りなかったようです。
もっとも、今回実行したプログラムは、頻繁に使用するものではなく、データ更新時に手動で実行するものなので、Apache全体のメモリの割当を増やすのでなく、該当プログラムでのみメモリの割当を変えることにしました。
// 一時的にメモリの使用量を変更
ini_set('memory_limit', '256M');
当該プログラムにはさみ、現在の倍のメモリを割り当てたらエラーがなくなりました。
メモリはプログラムの実行が終われば自然に開放されますが、明示的に変数を破棄する事で開放する事も可能です。
// 明示的にメモリを開放
unset($var);