Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么flush()不在for循环中工作?(菲律宾)_Php_Flush - Fatal编程技术网

Php 为什么flush()不在for循环中工作?(菲律宾)

Php 为什么flush()不在for循环中工作?(菲律宾),php,flush,Php,Flush,我想在for loop中使用flush()函数,在每个循环后回显内容 我的代码是: <?php if (ob_get_level() == 0) ob_start(); for ($i = 0; $i<10; $i++){ echo "<br> Line".$i." to show."; ob_flush(); flush(); sleep(2); } echo "<br>Done."; ob

我想在
for loop
中使用
flush()
函数,在每个循环后回显内容
我的代码是:

<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i<10; $i++){
        echo "<br> Line".$i." to show.";
        ob_flush();
        flush();
        sleep(2);
}

echo "<br>Done.";

ob_end_flush();
?>

此代码适用于本地主机和另一台主机(),但不适用于我的主主机(+)

我怎样才能解决这个问题?我使用chrome,在你的第二台服务器前面有一个»代理。它会干扰脚本的计时。在返回响应时,通常不应该依赖于时间,因为可能会有代理服务器。您可能需要使用某种类型的或

$nc shoma.info 80
GET/test/1.php HTTP/1.1
主持人:shoma.info
连接:关闭
HTTP/1.1200ok
服务器:Apache
X-Powered-By:PHP/5.3.28
改变:接受编码
内容类型:text/html
内容长度:209
接受范围:字节
日期:2014年3月22日星期六19:18:40 GMT
X-清漆:972965439
年龄:0

Via:1.1清漆尝试在以下位置设置:

ini_set('implicit_flush', true);

PHP配置中存在问题

-是PHP配置文件PHP.ini中的参数。它为数据启用输出缓冲


在PHP配置中,它具有“无值””。因此,只需设置输出缓冲参数“开启”。或者,如果希望在此指令中设置缓冲数据集字节数的限制(例如“4096”)

谢谢@escitalopram我怎么能禁用它?你不能在PHP脚本中禁用它。这是一个服务器配置问题,甚至是一个网络架构问题。可能最好使用AJAX或WebSocket,而不是尝试以这种方式修复它。我将
标题添加到
中,将“disablevcache”“true”
添加到
中。htaccess
但不起作用。我会在«上尝试你的建议为什么»?缓冲不应该延迟响应的发送吗?您重新启动了web服务器吗?不在主机服务器中。但是代码在本地主机中正常工作,并且
处于打开状态
处于关闭状态
,用于
输出缓冲
(我重新启动了本地主机。)
ini_set('implicit_flush', true);