Xdebug

Xdebug是最流行的PHP分析器之一,使用它分析应用的调用堆栈,能轻易找出瓶颈和性能问题。

配置

Xdebug的配置保存在php.ini文件中。下面是我推荐使用的Xdebug配置。记得要修改分析结果的输出目录。保存这些设置后,要重启PHP进程。

xdebug.profiler_enable=0

xdebug.profiler_enable_trigger=1

xdebug.profiler_output_dir = /path/to/profiler/results


xdebug.profiler_enable=0

这么设置是为了不让Xdebug自动运行。我们不想让Xdebug在每次请求时都自动运行,因为这会极大地降低性能,还会阻碍开发。


xdebug.profiler_enable_trigger=1

这么设置是为了在需要时启动Xdebug。我们可以在PHP应用的任何一个URL中加上XDEBUG_PROFILE=1查询参数,在单个请求中启动Xdebug。Xdebug检测到这个查询参数时,会分析当前请求,然后生成报告,将其保存到xdebug.profiler_output_dir设置指定的输出目录。


xdebug.profiler_output_dir=/path/to/profiler/results

这是一个目录的路径,这个目录用于保存分析器生成的报告。如果是复杂的PHP应用,分析器生成的报告可能很大(例如,500MB或更大)。记得要把这个设置的值改为正确的文件系统路径。


触发运行

因为我们把xdebug.profilter_enable的值设为了0,所以Xdebug不会自动运行。我们可以在PHP应用的任何一个URL中加上XDEBUG_PROFILE=1查询参数,例如/users/show/1?XDEBUG_PROFILE=1,在单个请求中触发运行Xdebug。Xdebug检测到XDEBUG_PROFILE查询参数时,会在当前请求中启动Xdebug。分析器生成的结果会转储到xdebug.profiler_output_dir设置指定的目录中。


分析

windows使用WinCacheGrind

linux使用KCacheGrind

Web浏览器中使用WebGrind


别名开启IDE调试只需要打开配置xdebug_remote_enable,其余配置留默认值

xdebug.remote_enable=On


命令行下IDE断点调试

export XDEBUG_CONFIG="idekey=phpstorm"

php -d xdebug.profiler_enable=1 index.php



转自: 《Modern PHP》,http://xdebug.org/docs/remote


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值