如果我从XAMPP上的本地服务器加载此脚本的chrome:

header("Content-Type:text/plain");

set_time_limit(0);

$max = 40;

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

$response = array( 'server time: ' . date("h:i:s", time()), 'progress' => round($i/$max*100));

echo json_encode($response);

ob_flush();

flush();

sleep(1);

}

ob_clean();

它按预期工作,每秒页面显示一个新的响应.

但是,当我将其上传到我的远程服务器(运行相同版本的php)时,它会等到整个脚本完成后再显示输出.

在非常长的脚本上,它每30-60秒左右更新一次输出.

正如标题所示,我尝试使用所有不同的刷新功能,但没有任何作用.

我的本地服务器和远程服务器的php.ini可能有些不同,但我不知道是什么.

请帮忙.

– -编辑 – –

我一直在做更多的测试.我注意到它确实只更新每4096个字节,这恰好是我的远程服务器的’output_buffering’的php ini值.

但是,出于某种原因,如果我将output_buffering更改为“1”或“关闭”,则不会发生任何变化.它仍然只更新每4096个字节.

我正在同一浏览器上的不同服务器上测试2个相同的脚本.

解决方法:

我没有考虑到nginx,它有自己的输出缓冲区.

我只是添加了’header(“X-Accel-Buffering:no”);’到PHP脚本的顶部,现在一切正常.

标签:php,flush,long-polling

来源: https://codeday.me/bug/20190716/1475947.html

php implicit_flush,php – ob_implicit_flush(),flush(),ob_flush() – 不在远程服务器上工作...相关推荐

  1. php 循环写入 缓冲,php利用缓冲实现动态输出(flush,ob_flush)

    php利用缓冲实现动态输出通过 flush,ob_flush实现 print str_repeat(" ", 4096);//php.ini output_buffering默认是 ...

  2. May 18:PHP 函数

    a 函数    说明 abs    绝对值 acos    反余弦 acosh    反双曲余弦 addcslashes    以 C 语言风格使用反斜线转义字符串中的字符 addslashes    ...

  3. 影响Lucene索引速度原因以及提高索引速度技巧

    在网上看了一篇外文文章,里面介绍了提高Lucene索引速度的技巧,分享给大家. 先来看下影响索引的主要因素: MaxMergeDocs 该参数决定写入内存索引文档个数,到达该数目后就把该内存索引写入硬 ...

  4. linux上安装mysql,tomcat,jdk

    Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a)         查看安装哪些jdk rmp –qa |grep java b)   ...

  5. mysql repalication_MySQL主从复制的原理及配置方法(比较详细)

    一.复制的原理 MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等等).每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执 ...

  6. MySQL主从同步问题集

    http://blog.chinaunix.net/uid-8786588-id-3771613.html 在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备 ...

  7. mysql M/S配置小记

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liuyu.blog.51cto.com/183345/64077 昨天 ...

  8. 运维工程师必备之MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  9. MySQL/MariaDB数据库主从复制

    MySQL数据库复制概述 MySQL的主从复制是指从服务器向主服务器获取二进制日志文件,然后在从服务器上对这些日志重新执行,从而使从服务器和主服务器保持同步.但由于是异步的复制,从服务器在一定程度上落 ...

最新文章

  1. CloudStack相关技术-主存储和二级存储
  2. 快速解码base64和utf-8的ASCII编码和URL解码
  3. JDBC与JNDI应用比较
  4. [Kesci] 预测分析 · 客户购买预测(AUC评估要使用predict_proba)
  5. java代码实现导出Excel表格、工具ssm框架、maven、idea
  6. mysql语法_MySql实用技能,最常用的删除语法
  7. linux系统编程之进程(二):进程生命周期与PCB(进程控制块)
  8. 毕业论文实验方法重复,如何降重?
  9. 使用3CDaemon 进行ftp 传输文件 (linux-开发板) 的方法
  10. win10安装VS2008失败解决方案
  11. VS2013好用的插件
  12. 沉浸式体验娱乐,通往元宇宙之路?
  13. USB 的UVC协议分析
  14. 【全开源+免费更新】doodoo.js项目结构
  15. Excel使用记录之分页预览与打印标题
  16. esc键 qt 退出菜单_qt之esc键
  17. 安卓app之按键美化
  18. FCN训练不收敛的原因分析和最详细的FCN训练与测试自己的数据程序配置
  19. MySQL 架构与内部模块
  20. 浏览器渲染页面的原理、回流、重绘

热门文章

  1. 大数据分析技术趋势有哪些
  2. 大数据可视化平台的价值有哪些
  3. photon 服务器操作系统,photon 云服务器
  4. 兄弟mfc9140cdn无法识别_我共享了Brother打印设备。现在只能打印但无法扫描,该如何解决? .| Brother...
  5. 团队协助 开源项目_5分钟了解 Vtiger CRM-国际知名开源客户管理软件
  6. 退火模拟算法c语言程序,C语言模拟退火算法(C language simulated annealing algorithm).doc...
  7. 简单实践GraphEmbedding图嵌入的几种方法
  8. R︱Linux+Rstudio Server尝鲜笔记(打造最佳Rstudio体验+报错的解决方案)
  9. Parcelbale接口
  10. 初步学习Django-第八篇:ORM常用操作