使用 Xdebug 生成 php 的 Profiler
Posted 贽殿遮那
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Xdebug 生成 php 的 Profiler相关的知识,希望对你有一定的参考价值。
在上一讲我们成功配置了xdebug并可以成功调试代码。ubuntu中PHP xdebug 断点调试
我切换Xdebug 升级到3.x版本后的配置修改,这里我们介绍php在ubuntu的版本切换的命令。
sudo a2enmod php5.6
sudo a2dismod php7.2
sudo update-alternatives --set php /usr/bin/php7.2
sudo systemctl restart apache2
然后把php7.2相对应的扩展再apt-get安装一遍。
xdebug.client_port= 9000
xdebug.output_dir=/var/tmp/xdebug
xdebug.idekey=PHPSTORM
xdebug.mode = develop,debug,profile,trace
xdebug.profiler_append = 0
xdebug.profiler_output_name = cachegrind.out.%p
xdebug.start_with_request = default|yes|trigger|yes
xdebug.output_dir=/var/tmp/xdebug
xdebug.idekey=PHPSTORM
xdebug.mode = develop,debug,profile,trace
xdebug.profiler_append = 0
xdebug.profiler_output_name = cachegrind.out.%p
xdebug.start_with_request = default|yes|trigger|yes
xdebug3默认端口9000改为9003,为了和以前统一我们把它改回来,和各种文件输出路径更改,关键的idekey设置,打开所有的xdebug模式和其对应的request配置。不要忘记重启服务和观察phpinfo是否真实变更。
使用工具来分析 profiler 文件
这里我使用 phpstorm 的分析工具来查看
Tools > Analyze Xdebug Profiler Snapshot
选择生成的 输出文件, 可以看到文件的解析信息, 这个对于分析自己写的php代码会有很大益处
以上是关于使用 Xdebug 生成 php 的 Profiler的主要内容,如果未能解决你的问题,请参考以下文章
kcachegrind 难以链接 php xdebug 调用