2011-04-14 29 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