suPHP使用无缓冲输出?

时间:2011-04-14 16:01:32

标签: php buffer suphp

我在使用suPHP的共享主机上有一个脚本。我需要无缓冲的输出(所以我可以在启动一个冗长的子程序之前刷新),但无论如何都找不到它,所以我的刷新调用基本上只是被忽略了。我已经尝试调整.htaccess(导致500内部错误),我尝试在帐户级别和特定脚本的文件夹级别修改php.ini(两者似乎完全被忽略,我例如,不能使用engine = Off或suphp_engine = Off来禁用php引擎。

如何禁用缓冲(可能要问我的托管服务提供商,但我要求他们具体更改哪些内容)?甚至可以用suPHP吗?

2 个答案:

答案 0 :(得分:1)

在与我的托管支持人员交谈之后,我终于得到了php.ini来识别,但是禁用或改变缓冲区大小没有任何效果。这是相当糟糕的文件(据我所知,一个关于php官方文档的评论)但似乎suPHP在内部php缓冲区后缓冲所有输出。所以flush正在工作......但是所有的输出都被suPHP再次缓冲,并且没有办法解决它。因此,如果你使用suPHP,你会被困在第二个无法关闭的缓冲区后面,最终结果是刷新将无效。您可以使用其他缓冲区命令(例如缓冲,以便您可以通过脚本进一步发送标头)来控制流量,但suPHP后面的总输出在出门之前会通过缓冲区。

答案 1 :(得分:0)

执行flush()时会发生什么?你得到一个错误,或者根本没有输出?如果在Web服务器级别进行缓存,则可能需要填充其缓冲区以使flush生效。尝试在刷新之前发送大量的空格,看看它是否更有效。