【问题标题】:Why do I need to use many flushing functions to flush the output buffer (using wamp, PHP)为什么我需要使用许多刷新函数来刷新输出缓冲区(使用 wamp、PHP)
【发布时间】:2013-02-17 14:31:38
【问题描述】:

在 wamp 服务器中,除非我使用这些函数,否则我无法刷新输出缓冲区:

ob_end_flush();
ob_flush();
flush();
ob_start();

为什么我需要使用所有这些功能? 为什么简单的ob_flush() 不起作用? 我的代码:

<?php    
ob_start();
    header( 'Content-type: text/html; charset=utf-8' );
    echo 'Begin ...<br />';
    for( $i = 0 ; $i < 6 ; $i++ )
    {
        echo $i . '<br />';
        sleep(1);
        ob_end_flush();
        ob_flush();
        flush();
        ob_start();
    }
    echo 'End ...<br />';
    ?>

【问题讨论】:

    标签: php buffer output-buffering


    【解决方案1】:

    因为你有默认参数output_buffering = on

    转到C:\wamp\bin\php\php5.4.3\php.ini

    然后找线

    output_buffering = 开启

    并将其更改为

    ;output_buffering = 开启

    【讨论】:

    • 你是王者!但是为什么我需要同时使用“ob_flush”和“flush”呢?对不起我的英语,我来自以色列。
    • 你可以找到答案here。这对我来说很难回答,但你可以解释一下你使用输出缓冲的目的是什么:>
    • 为什么要删除PHP.INI中关于“output_buffering”的那句?有解释吗?
    • @Lior 因为它写在文件中(至少在我的 php.ini 中):; Note: This directive is hardcoded to Off for the CLI SAPI ; Default Value: Off
    • 或者您可以将值设置为关闭:output_buffering = Off
    猜你喜欢
    • 2022-10-02
    • 1970-01-01
    • 2014-04-04
    • 2014-10-01
    • 1970-01-01
    • 2018-06-14
    • 2021-10-01
    • 2012-02-29
    • 1970-01-01
    相关资源
    最近更新 更多