相关疑难解决方法(0)

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

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

什么是最好的解决方案?

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

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

php apache flush echo

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

如何在nginx中为PHP应用程序禁用输出缓冲

我们的代码与此类似:

<?php
    ob_implicit_flush(true);
    ob_end_flush();

    foreach ($arrayOfStrings as $string) {
        echo time_expensive_function($string);
    }
?>
Run Code Online (Sandbox Code Playgroud)

在Apache中,这会在输出时将每个echo发送到浏览器.然而,在nginx/FastCGI中,由于nginx的工作方式(默认情况下),这不起作用.

有可能使这个工作在nginx/FastCGI上,如果是这样,怎么样?

php fastcgi nginx

16
推荐指数
2
解决办法
1万
查看次数

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万
查看次数

一旦调用echo,PHP就会刷新输出

我认为flush();至少可以使用Google/Stackoverflow告诉我的功能,但是在我的Windows WAMP(Windows,Apache,MySQL,PHP)系统上,它不起作用.

是否有一些PHP设置我必须设置为使flush()工作?

这是我的代码:

<?php
echo "Fun";

flush();

sleep(5);

echo "<br>Mo";
?>
Run Code Online (Sandbox Code Playgroud)

当脚本完成执行时(5秒后),代码只会输出所有内容.我不想要这个,我希望'Fun'立即显示,然后在5秒后'Mo'.

我已经尝试了其他类似的冲洗,ob_end_flush(); or ob_implicit_flush(true);但没有任何工作.有任何想法吗?

php windows flush

0
推荐指数
2
解决办法
1万
查看次数

标签 统计

php ×4

flush ×3

apache ×1

echo ×1

fastcgi ×1

nginx ×1

windows ×1