2011-04-14 74 views
0

我在使用suPHP的共享主機上有一個腳本。我需要無緩衝的輸出(所以我可以在開始一個冗長的子程序之前刷新),但無法找到它的工作,所以我的刷新調用基本上被忽略。我試圖調整.htaccess(這導致500內部錯誤),我已經嘗試修改一個php.ini在帳戶級別和特定腳本的文件夾級別(這兩個似乎完全忽略,我例如不能使用engine = Off或suphp_engine = Off禁用php引擎)。使用無緩衝輸出的suPHP?

我如何獲得緩衝禁用(可能要問我的託管服務提供商,但我要求他們具體更改)?用suPHP甚至可能嗎?

回答

1

與我的託管支持交談後,我終於得到了php.ini來識別,但是關閉或更改緩衝區大小沒有任何影響。這是相當糟糕的文檔(就我可以告訴的一個php官方文檔評論),但似乎suPHP緩衝內部php緩衝區後的所有輸出。所以flush正在工作......但是所有的輸出都被suPHP再次緩衝了,並且沒有辦法繞過它。所以如果你使用的是suPHP,你會被卡在第二個無法關閉的緩衝區之後,最終的結果是刷新不起作用。您可以使用其他緩衝區命令(例如緩衝區,以便可以通過腳本進一步發送標頭來控制流),但suPHP後面的總輸出在外出之前通過緩衝區。

0

執行flush()時會發生什麼?你有錯誤,或者根本沒有輸出?如果在Web服務器級別發生緩存,則可能需要填充其緩衝區以使flush才能生效。嘗試在刷新之前發送大量空白,看看它是否更有效。

+0

沖洗只是沒有做什麼。我一直無法溢出緩衝區。 – ima747 2011-04-15 16:29:59