PHP が大量の HTML ファイルを生成する場合、メモリの超過を回避する方法

WBOY
リリース: 2016-06-23 13:34:07
オリジナル
1141 人が閲覧しました

ob_start ();require 'xxx.php';$temp = ob_get_contents ();ob_end_clean ();$fp = fopen ( $path, 'w' );	fwrite ( $fp, $temp );	fclose ( $fp );
ログイン後にコピー


ここで、10,000 個のデータを生成し、上記のコードをループで呼び出したいのですが、メモリを超えているというメッセージが表示されます。このプログラムをどのように書き換えればよいでしょうか。 (メモリを変更せず、コードから処理します)

CMSによってはバッチ処理でHTMLを生成するものを見かけますが、どのように記述するのでしょうか?


ディスカッション(解決策)への返信

週末休み中は誰も回答しませんでした

「バッチ生成」なのでループや反復部分があるはずですよね?
イテレーションまたはループ部分を投稿することをお勧めします。
一般的な状況によれば、不要な変数を使用した後に設定を解除することが解決策の 1 つとなります。

情報が不完全なため分析が困難です。
さらに、PHP5.3以前と以降ではガベージコレクションの仕組みが異なるため、統一された規格はありません。
構成環境を提案することをお勧めします。

例えば、無限ループの場合、一定回数ループさせると必ずメモリが基準を超えますが、それを100回ループさせてメモリを解放し、さらにループを続けてピークに達するようにする方法です。メモリは標準を超えませんか?

ページングマークは 1 回使用できます。たとえば、10 個の項目が生成された後、ページはリダイレクトされます。次の 10 項目に進みます。このようにして。同じページでそれほど長い間実行されることはありません。

バッチで実行した場合、あなたが指摘した問題は存在しません。 れーれー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!