【发布时间】:2011-06-17 12:24:21
【问题描述】:
我正在使用以下代码在数据库维护脚本上生成缓冲输出:
function flush_buffers($string){
echo $string;
ob_end_flush();
ob_flush();
flush();
ob_start();
}
虽然这在我的本地 Wamp 服务器上按预期工作,每次调用该函数时都会显示输出,但它不会在在线 Web 服务器上:这里的输出仅在脚本结束后发送。 怎么样?
【问题讨论】:
-
您的 Web 服务器是否有任何额外的缓冲超出/超出 PHP 的控制?例如,我相信 IIS 通常会这样做。
-
Netcraft 报告:“Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635”
-
@dqhendricks,flush() 手册指出可能会发生某些服务器覆盖:-( @Wiseguy,请参阅flush() php 手册的第二条评论(用户“brudinie”)