我需要在脚本运行期间刷新内容。听起来很简单,但有几个关于这个问题的讨论。我已经尝试了所有我能找到的东西,所以我必须在服务器上出现问题。也许是一些糟糕的混乱如果您告诉我要查找的内容,我可以更改服务器配置。
到目前为止,我检查了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来检查网页内容,我想我们无法保证将部分/分块内容传递给用户。