Allowed memory size of 134217728 bytes exhausted
夜な夜なプログラムを作成してたときにFatal errorが出たのでメモしておきます。
Fatal error:Allowed memory size of 134217728 bytes exhausted (tried to allocate 40 bytes) in
C:\xxx\xxx\xxx\xxx\hogehoge.php on line 225
134217728 bytes、メガバイト単位だと128MB。こんなにメモリを消費する処理なんて行っていないはずなんだけど、なんて思いつつ該当する行をチェック。
$numEnd = $arr['numPageMax'];
if (!$numEnd) {
$numEnd = 1;
}
for ($i = 0; $i < $numEnd; $i++) {
$numPage = $i + 1;
$data = array( <- ここが225行目
'strTitle' => $numPage . $arr['strPage'],
'value' => $numPage,
);
$arrayOption[] = $data;
}
エラー原因となった行は、『 $data = array( 』の部分、なんのこっちゃと周辺の変数をvar_dump()に入れてチェックしていったら、どうやら$numEndに数字が入るはずが配列が混入しforが無限ループしてしまったようです。
$numEndに数字を入るようにしたら、無事解決。
|