使用其他开发人员和设计人员使用的共享Web服务器。处理XML文档。直到前几天,以下代码一直对我有用:
while (ob_get_level() > 0) { ob_end_flush(); }
从那时起,只要达到ob_end_flush()
,脚本就会像ob_end_flush()
exit()
一样死去。即使启用了错误报告/ display_errors,也不会输出错误。注释掉上面的行时,脚本将完全运行,只有在完整脚本运行后才显示脚本输出。 @ob_end_flush()
没有任何区别。 ob_get_level()
是1
。 var_dump
ob_end_flush()
ob_end_flush()
也会退出。使用CodeIgniter,但在框架外部尝试此代码会产生相同的结果。
为什么{{1}}会突然开始导致脚本每次都死掉,这是否有原因?我应该检查是否有任何PHP设置?
答案 0 :(得分:1)
最后发现问题 - 当我的代码似乎开始在CodeIgniter之外工作时,我检查了CodeIgniter的index.php引导程序文件并遇到了有人添加的代码:
if (substr_count( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')){
ob_start("ob_gzhandler");
}
else {
ob_start();
}
这就是原因。