在PHP脚本期间无法刷新

时间:2017-05-02 11:39:31

标签: php symfony flush

我目前面临着php和flush()的问题。它上周工作正常,但不是现在。

我尝试了几种方法,禁用我找到的所有缓冲系统(zlib,output_buffering),仍然没有解决方案。

我正在使用Symfony 3.2.7和PHP 5.6.26(在Windows 7上使用Xampp)。

我按照文档on Symfony,没有运气。我也在StackOverflow上尝试了几种解决方案,但也没有运气。 答案here无法解决问题,因为output_buffering设置为off,因此没有缓冲区可以与ob_flush()刷新

我加入了StreamedResponse代码的一部分,以防问题出现在我的眼前。

$response = new StreamedResponse();
    $response->setCallback(function (){
        $directory = $this->container->getParameter("awstats.directory");

        echo $this->render("StatBundle:Default:update.html.twig")->getContent();
        flush();

        foreach (scandir($directory) as $key => $file) {
            if ( is_file( $directory . '\\' . $file ) ) 
            {
                $awf = new Awfile( $directory . '\\' . $file , $this->getDoctrine(), $this->container);
                $awf->parseInit();
                $awf->setStreamEnable(true);
                $stats = $awf->saveLinks( $this->container->getParameter("awstats.regex") );

                echo $this->render("StatBundle:Default:streamUpdateScript.html.twig")->getContent();
                flush();

            }
        }
    });
    $response->sendHeaders();

    $response->send();

所以如果您有任何想法,我会很乐意尝试!

0 个答案:

没有答案