PHP开启Xdebug之后异常的慢

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
`
这是我的截图
图片描述

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

阅读 5.1k
3 个回答

内容在输出缓冲区中,调用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();

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题