PHP开启Xdebug之后异常的慢

叶卓霖
  • 8

PHP在开启了Xdebug扩展之后,打开测试网页就很慢。断点已经打上去了,PHPSTORM上面Debugger也有提示,但是网页就是不显示

我的Xdebug配置如下
`[Xdebug]
zend_extension=C:xamppphpextphp_xdebug.dll
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host= localhost
xdebug.remote_port = 9000
xdebug.idekey = "PHPSTORM"
xdebug.profiler_enable=0
`
这是我的截图
图片描述

就这样,网页一直没反应,然后停止调试之后,网页内容就出来了

回复
阅读 3.3k
3 个回答
Mkless
  • 3.3k
✓ 已被采纳

内容在输出缓冲区中,调用flush()将当前缓冲区内容发送到浏览器
apache环境下,php的配置文件中有output_buffering,默认为4096(4K),调用ob_end_flush()来刷新缓冲区
webserver apache也有一个缓冲区来将php的输出进行缓冲,调用flush()刷新缓冲区
浏览器端有4096bytes(4K)的缓冲区,这个由浏览器进行控制
这些缓冲区将在请求结束阶段进行自动刷新
在调试阶段可以考虑先发送4096字节的空字符,将浏览器的缓冲区填满,然后刷新php和apache的缓冲区即可实时看到输出

echo $str = str_repeat(" ",4096);

$a = 1;

if($a != 1)
{
    echo 1;
}
else
{
    echo 2;
}

//执行以下两步后,将可以看到当前缓冲区内容
ob_end_flush();
flush();

你不知道什么是断点吧......断点走完了页面才响应完毕

已经到断点了. 那肯定就中断了. 需要你继续操作的.

宣传栏