用xDebug, Eclipse和Chrome调试php:浏览器输出不更新断点


Debug php with xDebug, Eclipse and Chrome: Browser output not update with breakpoints

我用PDT安装Eclipse,用XAMPP安装xDebug,并使用Chrome作为Eclipse的外部浏览器。我现在的问题是,如果我在PHP代码中设置断点,调试器就会像预期的那样停止。但是,只有在执行了所有PHP代码块之后,浏览器输出才会显示结果。例如,如果我有一个这样的php文件:

<?php 
    echo 'Test Line 1';
    echo 'Test Line 2';
    echo 'Test Line 3';
    echo 'Test Line 4';
    echo 'Test Line 5';
    echo 'Test Line 6';
    echo 'Test Line 7';
?>

我在每行设置断点,调试器将在每行停止,但浏览器将在所有代码执行后显示最终结果,而不是在断点处显示每个输出。

有什么建议吗?

您的输出被缓冲。有关输出缓冲控制的信息,请参阅PHP手册。

当你调用echo
时,PHP会刷新输出

添加ob_get_contents() Eclipse表达式,您将看到缓冲区