PHP 调试时echo 不显示另一种原因

在通过执行长时间的PHP程序时,出现中间ECHO 不输出的现象。

一般解决方法:加缓存字符,清缓存等方法。

echo str_pad('', 1024*4);
flush();
ob_flush();

ob_end_clean() 静默的清除服务端缓存的数据。等方法

还有增大超时设置。

set_time_limit(0);
ini_set("max_execution_time",0);

以上都不行时,可以查看APACHE日志,是否QOS模块都安全过滤设置。

测试方法,可以通过

for ($i=0;$i<30;$i++){
  echo $i.
 flush();
sleep(1);
}

看看能不能执行30秒,如果不能则服务端有问题。

通常在httpd.conf中,可能会有QS_SrvMinDataRate 150 1200引起截断。去掉就好了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。