###前提・実現したいこと
2万件ほどの要素を扱うphpのソースで要素を展開して画面を表示する際に稀に下記のエラーを起こしてしまいます。
FatalErrorException: Allowed memory size of 33554432 bytes exhausted (tried to allocate 598016 bytes)
調べたところメモリの割当容量を超えてしまっているため出ているエラーだとわかりました。
php.iniのmemory_limitは変えたくないのでメモリを節約する方向での解決法を探していたのですが、unsetやphpのジェネレータ等を使用してみたのですが以前エラーが出てしまい悩んでおります。
助言いただけましたら、幸いです。
よろしくお願いいたします。
処理自体なにをしているのかわからないので回答しようがないですね、配列や変数を冗長につかうのではなく、適当なところでテンポラリファイルなどに逃がすくらいしかおもいつきません
その2万件を配列などオンメモリに載せないと出来ない処理でしょうか。データベースに預けてしまって、SQL文の工夫で解決できないようなものなのでしょうか。
回答2件
あなたの回答
tips
プレビュー