为什么Bitdefender阻止刷新数据(PHP)?

为什么Bitdefender阻止刷新数据(PHP)?,php,flush,Php,Flush,此代码在每次循环到浏览器后打印结果。适用于my host和localhost。但在我的电脑上安装bitdefender total security 2015后无法工作10秒后立即打印所有文本 我在bitdefender中禁用了防病毒和防火墙,但未解决。 如何解决这个问题? 演示: progress.php <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); functi

此代码在每次循环到浏览器后打印结果。适用于my host和localhost。但在我的电脑上安装bitdefender total security 2015后无法工作10秒后立即打印所有文本 我在bitdefender中禁用了防病毒和防火墙,但未解决。 如何解决这个问题? 演示:

progress.php

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache'); 

function send_message($id, $message, $progress) {
    $d = array('message' => $message , 'progress' => $progress);
    echo "id: $id" . PHP_EOL;
    echo "data: " . json_encode($d) . PHP_EOL;
    echo PHP_EOL;
    ob_flush();
    flush();
}

//LONG RUNNING TASK
for($i = 1; $i <= 10; $i++) {
    send_message($i, 'on iteration ' . $i . ' of 10' , $i*10); 
    sleep(1);
}

send_message('CLOSE', 'Process complete');

问题出在比特后卫身上。他们现在解决了。

你确定是BitDefender吗?如果你卸载它会发生什么?我知道大多数时候冲洗不起作用。它被刷新并发送到客户端并不意味着它会立即显示。事实上,你的url给了我同样的问题,我不再有BitDefender了。我确信BitDefender会阻止实时打印到浏览器。unistall后,代码工作正常。在浏览器中打印每秒钟的结果后,更新的演示url即可工作。你改变了什么?是的,我更新了它。我的错误是我还安装了AVG,卡巴斯基和eset防病毒测试。这些防病毒代码可以正常工作。在修复错误后,BitDefender仍然不能工作?您是否在BitDefender中启用了某些Internet扫描功能?在这种情况下,BitDefender可能会对页面进行缓冲,直到页面完全加载,以便可以对其进行扫描。
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache'); 

function send_message($id, $message, $progress) {
    $d = array('message' => $message , 'progress' => $progress);
    echo "id: $id" . PHP_EOL;
    echo "data: " . json_encode($d) . PHP_EOL;
    echo PHP_EOL;
    ob_flush();
    flush();
}

//LONG RUNNING TASK
for($i = 1; $i <= 10; $i++) {
    send_message($i, 'on iteration ' . $i . ' of 10' , $i*10); 
    sleep(1);
}

send_message('CLOSE', 'Process complete');