1

http://php.net/ob_end_cleanからの引用

失敗の理由は、最初に、アクティブなバッファーなしで関数を呼び出したか、何らかの理由でバッファーを削除できなかったことです (特別なバッファーの可能性があります) 。

この特別なバッファは何ですか?

今、すべてのバッファをきれいにするために、私はこのようなコードを持っています

while (@ob_end_clean());

しかし、何らかの理由で「特別なバッファ」に遭遇した場合、これはおそらく無限ループになります。

4

1 に答える 1

1

再びマニュアルからhttp://php.net/manual/en/function.ob-start.php

特別なバッファーは、またはob_start()のような特定のパラメーターを使用して作成されたバッファーを参照する場合があると思います。chunk_sizeerase

チャンクサイズ

オプションのパラメーター chunk_size が渡された場合、バッファーの長さが chunk_size 以上になる出力呼び出しの後にバッファーがフラッシュされます。デフォルト値 0 は、出力バッファが閉じられたときにのみ出力関数が呼び出されることを意味します。

消す

オプションのパラメータ erase が FALSE に設定されている場合、バッファはスクリプトが終了するまで削除されません。これにより、フラッシュおよびクリーニング関数が通知を発行し、呼び出された場合に FALSE を返します。

于 2013-10-03T10:46:44.720 に答える