Allowed memory size of 134217728 bytes exhausted

メモスレッド ( 更新日時 : 2012/07/19 17:54 最終投稿者 : RUCAROSTAFF 状態 : 締切
投稿日時 : 2012/07/19 17:54 ログ番号 : 145
投稿者 : RUCAROSTAFF ( 立場 : メンバー 投稿数 : 61件

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に数字を入るようにしたら、無事解決。

投稿総数 800件
最終投稿日付 2020/12/05 11:46
ログイン中 9人
閲覧者 1人
表示名 ゲスト様
RUCARO Co.,Ltd. All Right Reserved.