我在使用suPHP的共享主机上有一个脚本。我需要无缓冲的输出(这样我可以在启动冗长的子例程之前刷新),但是找不到任何方法来让它工作,所以我的flush调用基本上被忽略了。我试过调整引擎(这会导致一个500内部错误),我试着在帐户级和文件夹级修改特定脚本的php.ini (这两者似乎都被完全忽略了,例如我不能用.htaccess = Off或suphp_engine =Off来禁用php引擎)。
我如何禁用缓冲(可能需要询问我的主机提供商,但我具体要求他们更改什么)?用suPHP能做到吗?
发布于 2011-04-16 00:31:40
在与我的主机支持人员进行了更多的交谈后,我终于让php.ini得到了认可,但拆分或改变缓冲区大小没有任何影响。它的文档相当少(据我所知,这是对php官方文档的一种评论),但似乎suPHP缓冲了内部php缓冲区之后的所有输出。所以同花顺成功了..。但是所有的输出都会被suPHP再次缓冲,这是没有办法的。因此,如果您使用的是suPHP,您将被困在无法关闭的第二个缓冲区之后,最终结果是刷新将没有任何效果。您可以使用其他缓冲区命令来控制流,但是suPHP后面的总输出在输出之前要经过缓冲区。
发布于 2011-04-15 00:14:04
当您执行flush()时会发生什么?你得到的是一个错误,还是根本没有输出?如果缓存发生在for服务器级别,您可能需要填充其缓冲区才能使刷新生效。尝试在刷新前发送大量空格,看看是否更有效。
https://stackoverflow.com/questions/5666086
复制相似问题