Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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 don';行不通_Php_Flush - Fatal编程技术网

PHP flush don';行不通

PHP flush don';行不通,php,flush,Php,Flush,我试图让PHP flush工作2个小时,我不能让它工作,在localhost中它工作,但当我在服务器上拖动它时,它停止工作。 代码如下: <?php ob_implicit_flush(true); ob_end_flush(); for ($i=0; $i<5; $i++) { echo $i.'<br>'; sleep(1); } ?> 我尝试了很多其他版本,但是我喜欢的所有版本都只能在localhost上运行(如下所示),

我试图让PHP flush工作2个小时,我不能让它工作,在localhost中它工作,但当我在服务器上拖动它时,它停止工作。 代码如下:

<?php
  ob_implicit_flush(true);
  ob_end_flush();
  for ($i=0; $i<5; $i++) {
    echo $i.'<br>';
    sleep(1);
  }
?>

我尝试了很多其他版本,但是我喜欢的所有版本都只能在localhost上运行(如下所示),而不能在我的服务器上运行。我在某个地方读到,修改php.ini文件中的一些行是可以修复的,但我使用的是Aruba托管windows域,所以我无法编辑php.ini,我该怎么办

更新:我在其他两个免费托管服务上试用了它,并且都能正常工作,这只是我的主要托管服务的问题:它会是什么?
更新:由于我发现很多脚本都使用ini\u集,我试图检查它们设置的值,我不知道它们是否有用:
session.use\u trans\u sid 0
输出缓冲4096
zlib.output\u压缩关闭

尝试

<?php

  ini_set('session.use_trans_sid', 0);

  ob_implicit_flush(true);
  ob_end_flush();
  for ($i=0; $i<5; $i++) {
    echo $i.'<br>';
    sleep(1);
  }
?>

或检查:

这是可行的,但仅在默认的apache环境中:

<?php
ini_set('output_buffering', 0);
ini_set('zlib.output_compression', 0);
if( !ob_get_level() ){ ob_start(); }
else { ob_end_clean(); ob_start(); }
for ($i = 0; $i < 10; $i++) {
  //For Nginx we have to reach minimum  buffer size, 
  //so if it is not enough increment output
  echo str_pad( $i . '<br>', 1024 + 10, ' ', STR_PAD_RIGHT ); 
  flush();
  ob_flush();
  sleep(1);
}

您的服务器可能有一个缓存前端以减少负载。您正在调用ob_start()?我甚至尝试过使用ob_start和ob_flush,但问题可能是我的服务器有一些集成的缓冲区。我不怀疑这是否可以工作,我只是不知道如何工作?也不确定,在谷歌搜索时偶然发现了它。我已经编辑了我的帖子,并添加了另一个问题的链接。你应该试一试。抓住稻草不是回答问题的方法。不过,很难重现这个问题。所以我无法测试它。这可能有效,但我使用的是windows主机,因此此文件夹不存在:(在windows中,不要担心nginx配置,尝试增加输出字节,尝试达到行的4096字节。
echo stru pad($I.
,4*1024+10',str pad_RIGHT);
gzip off;
proxy_buffering off;
fastcgi_buffer_size 1k;       #set buffer to 1k
fastcgi_max_temp_file_size 0;
fastcgi_buffers 128 1k;       #set max buffer size to 1k + 128*1k