輸出緩衝存在一些問題。主要是,我試圖通過ob_gzhandler回調來運行輸出緩衝,但它一直告訴我它使用不受支持的壓縮類型。一切都被使能,我相信問題是,在我的腳本的起動器運行ob_get_level()產生1. php.ini中的水平我output_buffering設置爲4096ob_get_level()從級別1開始
如果我運行類似:
while(ob_get_level() > 0){
ob_end_clean();
}
然後我可以用ob_gzhandler回調成功運行ob_start()。但我想知道這是否應該是一個問題。在我的腳本中,我在各個點上調用ob_clean(),因爲我避免堆疊太多的緩衝區,因爲我讀過這可以提高性能。我只是不確定我應該在這裏做什麼。
乾杯。
是的,我相信我是。它被設置爲:output_buffering = 4096(我在上面說過)。我得到的是,我應該保持原樣,只需運行上面的循環,以便我可以開始輸出緩衝ob_gzhandler? – 2010-09-04 09:24:25
@Jason Lewis:這取決於你。我可能會爲所有腳本保留默認的OB,並在我想使用自己的情況下用'while'循環終止它。 – Piskvor 2010-09-04 09:28:43
我的意思是說我在幾個地方使用ob_get_clean(),將輸出存儲在一些變量中,並最終將其刷新。這是做這件事的好方法,還是應該爲每個我想要捕獲輸出的地方啓動一個新的緩衝區,並使用ob_get_flush()來代替? – 2010-09-04 10:01:21