PHP实时输出(一遍运行一遍输出)

示例

public function test(){
    realTimeOutputPrepare();
    echo '6666'.PHP_EOL;
    sleep(3);
    realTimeOutput('9999');
}

调用的方法如下

/**实时输出内容-步骤一
 * 实时输出内容准备(设置头部)
 * 在你需要实时输出的方法最前面调用
 */
function realTimeOutputPrepare(){
    header('X-Accel-Buffering: no');
    set_time_limit(0);
    ob_end_clean();
    ob_implicit_flush(1);
}
/**实时输出内容-步骤二
 * 实时输出内容(清理缓冲区)
 * 需要输出内容时再调用
 */
function realTimeOutput($string){
    if(is_array($string)){
        $string = Tools::arrayToJson($string);
    }
    echo $string."<br>";
    flush();
}

经测试:浏览器运行正常,命令行模式有报错!

THE END