相关疑难解决方法(0)

每次`echo`调用后如何刷新输出?

我有一个PHP脚本,只生成日志到客户端.
当我回应某些内容时,我希望它能够即时转移到客户端.
(因为在脚本处理过程中,页面是空白的)
,我已经打得四处ob_start()ob_flush(),但他们没有工作.

什么是最好的解决方案?

PS:在echo通话结束时放一个同花牌有点脏......

编辑:Answers既不工作,PHP或Apache错误?

php apache flush echo

54
推荐指数
9
解决办法
12万
查看次数

php flush无法正常工作

<?php
for($i=0;$i<20;$i++)
{
    echo 'printing...<br />';
    ob_flush();
    flush();

    usleep(300000);
}

?>
Run Code Online (Sandbox Code Playgroud)

包含以下代码的网址:http://domainsoutlook.com/sandbox/delayed.php

我有一个专用服务器,所以我可以进行更改.我正在运行apache和nginx作为代理服务器.

php flush

14
推荐指数
4
解决办法
4万
查看次数

当php脚本仍然执行时回显消息

我有一个使用cURL的PHP​​脚本,大约需要10-15分钟才能执行.它做了什么,它解析大约1000页寻找特定的匹配,并在整个脚本中我有回声消息,如"转到下一页","找到匹配","加载页面错误"...现在它的工作方式(以及它的正常方式)是执行10分钟,然后才会吐出所有自定义消息.我希望能够在这些消息发生时显示这些消息,而不是在脚本执行完毕时.我在想像AJAX这样的东西,但我不确定它是如何工作的.任何提示都非常感谢.谢谢.

php curl messages

9
推荐指数
3
解决办法
1万
查看次数

PHP刷新在IIS7.5中停止刷新

我们一直在使用php flush一旦点击它就立即"空白"页面,并且还发送页面的导航和主要组件,以便页面几乎立即出现,即使有时内容可能需要很长时间载入.

这一直很好.

最近我们从IIS 7.0升级到7.5,现在flush不起作用.在调查问题时,我们已关闭静态和动态文件的压缩.我们还关闭了输出缓存.

我们还关闭了zlib压缩并在php.ini中输出缓冲.

为了测试问题,我们有以下脚本

@ini_set("output_buffering", "Off");
@ini_set('implicit_flush', 1);
@ini_set('zlib.output_compression', 0);

ob_start();

echo "starting...<br/>\n";
for($i = 0; $i < 5; $i++) {
    print "$i<br/>\n";
    ob_end_flush(); 
    ob_flush();
    flush();
    ob_start();
    sleep(2);
}
print "DONE!<br/>\n";
Run Code Online (Sandbox Code Playgroud)

浏览器只显示加载状态(无论在任何浏览器中,在IE中它看起来像一个Ajax动画gif,在Firefox中,标签会显示"正在连接...")10秒钟,然后突然显示整个输出.

我们根据本网站上的类似问题尝试了flush和ob_flush以及ob_end_flush的各种组合.他们都没有工作.有没有办法让IIS/PHP刷新数据?

php iis-7.5

7
推荐指数
2
解决办法
9595
查看次数

标签 统计

php ×4

flush ×2

apache ×1

curl ×1

echo ×1

iis-7.5 ×1

messages ×1