PHP 7.1 flush在所有

时间:2018-05-29 16:00:15

标签: php flush php-7.1

我需要在脚本运行期间刷新内容。听起来很简单,但有几个关于这个问题的讨论。我已经尝试了所有我能找到的东西,所以我必须在服务器上出现问题。也许是一些糟糕的混乱如果您告诉我要查找的内容,我可以更改服务器配置。

到目前为止,我检查了output_buffering(512),output_handler(没有值),zlib.output_compression(Off),zlib.output_handler(没有值)。服务器运行普通Apache而没有fast-cgi左右。

无论刷新字符串的大小是什么,在脚本完成之前它什么都不做 - 然后一切都被渲染。

我发布了最终代码的示例,但我已经尝试了我在网上找到的每个代码示例。

// Turn off apache-level compression
@apache_setenv('no-gzip', 1);

// Turn off compression
@ini_set('zlib.output_compression', 0);

session_write_close();

while (ob_get_level()) ob_end_flush();

header( 'Content-type: text/html; charset=utf-8' );
header('Cache-Control: no-cache, must-revalidate');
header("Content-Encoding: identity", true);

for ($i = 0; $i < 10; $i++){

    ob_start(null,4096,PHP_OUTPUT_HANDLER_FLUSHABLE);
    echo "$i";
    echo str_repeat(' ',4096);
    usleep(250000);
    ob_end_flush();
    flush();

}

我开始使用cakephp 3.5动作,但是当我无法正常工作时,我将代码解压缩为单独的.php文件,并且我直接访问该文件。网络控制表明它不是浏览器缓存的问题。

感谢您的每一个提示。

修改 经过几个小时的工作,我发现它是一个防病毒问题。而且,由于现在几乎每个防病毒软件都会使用SSL来检查网页内容,我想我们无法保证将部分/分块内容传递给用户。

0 个答案:

没有答案