提问人:Madara's Ghost 提问时间:8/5/2011 最后编辑:Madara's Ghost 更新时间:8/5/2011 访问量:271
PHP - 发送当前输出缓冲区
PHP - Sending the current output buffer
问:
我正在制作一个PHP IRC机器人,它工作得很好。
不过,我想做的是有一个实时调试选项,这意味着我需要实时查看从操作员发送到机器人的命令。问题是,只要机器人在运行,就不会发送任何输出,即使 I 、 或 .echo
printf
var_dump
所以我的问题是,我怎样才能强制PHP在不等待逻辑完成的情况下发送当前输出缓冲区(因为从理论上讲,它永远不会:P完成)
编辑:或者似乎不起作用,请参阅这个简单的示例: http://codepad.viper-7.com/ks7zEyflush()
ob_flush()
答:
2赞
genesis
8/5/2011
#1
使用 flush();
评论
0赞
Madara's Ghost
8/5/2011
恐怕不起作用。我尝试了一个带有 sleep(2) 的更简单版本;
1赞
TJHeuvel
8/5/2011
#2
您正在寻找ob_flush
评论
0赞
Madara's Ghost
8/5/2011
恐怕不起作用。我尝试了一个更简单的版本sleep(2);
0赞
TJHeuvel
8/6/2011
你一开始有没有调用ob_start()?
0赞
Madara's Ghost
8/6/2011
我确实有。我开始认为PHP不是问题,因为即使在php.ini中设置后,我仍然有同样的问题。output_buffering=Off
1赞
nobody
8/5/2011
#3
只需将其放在页面顶部即可:
while( ob_get_level() > 0 ) {
@ob_end_flush();
}
@ob_implicit_flush();
评论
0赞
Madara's Ghost
8/5/2011
恐怕不起作用。我尝试了一个带有 sleep(2) 的更简单版本;
下一个:PHP密码学的良好实践?
评论