php - PHP 7.1 刷新根本不起作用
问题描述
我需要在脚本运行期间刷新内容。听起来很简单,但有几个关于这个问题的讨论。我已经尝试了所有能找到的东西,所以我认为服务器一定有问题。也许有些糟糕的配置。如果您告诉我要查找的内容,我可以更改服务器配置。
到目前为止,我检查了 output_buffering(512)、output_handler(无值)、zlib.output_compression(关闭)、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 文件中,并且我正在直接访问该文件。网络控制表明这不是浏览器缓存的问题。
谢谢你的每一个提示。
编辑: 经过数小时的工作,我发现这是一个防病毒问题。而且由于现在几乎所有防病毒软件都会检查 Web 内容,即使使用 SSL,我想也无法保证将部分/分块内容传递给用户。
解决方案
推荐阅读
- javascript - Typescript 遍历 Record 类型并返回更新的 Record
- python - 错误“chromedriver”可执行文件需要在 PATH 中
- python - numpy 奇怪地安排了不应该的端点
- javascript - 如何从 HATEOAS 请求和获取价值
- javascript - Chrome 扩展消息从后台脚本传递到内容脚本错误:接收端不存在
- django - 无法在 Django 管理中调整特定字段的大小
- java - 从超类中的子类访问扫描仪对象?
- python - 尝试从全局列表中打印词干(无扩展名的基本名称)
- python - 我如何使用由外国领域链接的 3 个 django 模型?
- ios - GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h' 文件 > 未找到