- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果我从 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”或“off”,则没有任何变化。它仍然只每 4096 字节更新一次。
我正在同一浏览器的不同服务器上测试 2 个相同的脚本。
最佳答案
我没有考虑 nginx,它有自己的输出缓冲区。
我只是添加了'header("X-Accel-Buffering: no");'到 php 脚本的顶部,现在一切正常。
关于php - ob_implicit_flush(), flush(), ob_flush() - 不在远程服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538548/
我有一个需要几分钟才能完成处理的 PHP 脚本。当页面仍在加载时,我想在可用时显示部分 PHP 输出,这可以使用 ob_start() 和 ob_flush() 来完成。 在整个脚本执行完毕后,我想从
当我在本地主机(通过 MAMP)上调用 PHP 的 ob_flush() 函数时,出现以下错误: Notice: ob_flush() [ref.outcontrol]: failed to flus
在我的网站(使用 drupal 运行)中,ob_flush 函数需要很长时间(在 10 - 100 秒之间)才能执行。我如何找出原因?是什么导致了这么长时间? 最佳答案 试试这个: ob_start(
我正在使用 iframe 方法编写文件上传脚本。在后端,文件上传后,脚本还做了一些事情。因此,一旦文件上传,我就会将输出刷新到浏览器(进入 iframe),然后脚本继续。从 Chrome 控制台我可以
我正在用 PHP 编写一个应用程序,我决定自己做一些测试以确定 PHP 处理缓冲区和缓冲的能力。具体来说,我想看看手动调用 ob_start() 和 ob_flush() 是否会对我的程序产生巨大影响
我已经尝试了几次尝试让我的 flush 和 ob_flush 工作。我试过设置 ini 以允许缓冲,我试过使用我在网上找到的几个不同的函数来进行输出缓冲,但没有一个起作用。该脚本想要等到它完全完成,直
有关php的ob_flush()与flush()使用方法 注意:ob_flush()和flush()这两个函数一般要一起使用,顺序是先ob_flush(),然后flush(),它们的作用是刷新缓冲
flush()、ob_flush()、ob_end_flush()三者的区别: 首先,说下buffer,它是一个内存地址空间,为4096(1kb)【在php.ini配置文件中找到output_bu
我遇到了 PHP ob_flush(); 的问题 似乎它只在 IE10 中不起作用。 gzip 和缓存在服务器上被禁用,它在除 IE10 之外的任何地方都有效。 如果有人知道如何解开这个谜团,我将不胜
我有以下 PHP 脚本: "; ob_flush(); flush(); sleep(1); } ob_end_flush(); ?> 它在 WAMP 本地主机上工作正常并且每
我对 PHP 函数 ob_flush() 和 ob_end_flush() 感到困惑。关于函数 ob_flush manual说 The buffer contents are discarded a
如果我从 XAMPP 上的本地服务器在 chrome 中加载此脚本: header("Content-Type:text/plain"); set_time_limit(0); $max = 40;
我刚看完this post The loading time of webpages is improved by enabling gzip compression on server. Bette
ob_clean() 和 ob_flush() 有什么区别? 此外,ob_end_clean() 和 ob_end_flush() 之间有什么区别?我知道 ob_get_clean() 和 ob_ge
ob_flush() 和 flush() 有什么区别,为什么必须同时调用? ob_flush() reference说: This function will send the contents of
我的意思是...让我们只发出一个 AJAX 请求并将结果插入到 div#result 中.. 在后端,脚本使用ob_flush() 发送 header 但不会终止请求,直到它终止(使用exit 或ob
嗨请查看以下代码: \n"; for( $i = 0 ; $i \n"; ob_flush(); flush(); sleep(1); } echo "End ...\n";
我正在使用 ob_start()/ob_flush(),希望在长时间的导入操作中给我一些进展。 这是我正在做的事情的简单概述: "; $conn = ftp_connect($ftp_site) or
搜索了很多,但找不到太多关于这个的信息.. 我有一个通过循环处理很多事情的页面,我把它放在 php 页面的顶部: ob_implicit_flush(true); ob_end_flush(); 这很
像下面这样在 php 中进行错误处理是否可以接受?我对ob_start()/ob_clean()/ob_flush()不是很熟悉,所以我想知道使用它们有什么不好的影响吗?例如,它们会影响性能吗?
我是一名优秀的程序员,十分优秀!