scene:
OS:MAC OSX 10.10
环境:MAMP PRO 3.03
PHP:5.5.10
webgrind 1.1
Target:
1.为PHP安装XDEBUG模块
2.为查看XDEBU*生的数据,安装webgrind(调用数据的一个网页).
3.webgrind的作用:webgrind是一个网页版的性能分析工具,它的主要作用就是分析xdebug生成的cachegrind文件,以一种界面友好详尽的方式来展示性能数据
4.在sublime text3中安装xdebug client调度工具
Think:
1.安装XDEBUG物理模块到PHP中
2.在PHP中配置XDEBUG,[使物理模块动作,相当于驱动.]
3.调用XDEBUG捕捉到的文件.[通过安装webgrind实现]
step:
1.MAMP自带xdebug.so模块,无需下载.[文件路径:/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so]
检验:手动查找对应文件.
2.配置XDEBUG.
选中MAMP PRO,在菜单栏中选择File>>Edit Template>>PHP>>PHP5.5.10.ini
在最后而的[xdebug]增加两行代码:(路径按需要修改)
[xdebug]检测:打开MAMPPRO网页版查看PHPINFO[http://localhost/MAMP/index.php?language=English&page=phpinfo]
zend_extension="/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "/tmp"
有 Xdebug 模块说明前两步操作正确.
3.在网页上执行PHP文件,然后在文件夹中查看 /tmp文件中是否有文件[cachegrind.out.xxx]生成.有则说明XDEBUG正常运行.接下来,就是要解决如何读取这些文件了.
command+shift+G打开"前往文件夹",输出/tmp [此路径与step2中的配置路径一致]
4.读取XDEBUG生产文件[cachegrind.out.xxx]有很多几种方式,本篇写webgrind.
webgrind原理:就是一个普通页面[有采集功能].可直接布署到网站根目录[位置随个人喜好]
实现步骤:下载>>布署>>使用
下载地址:https://github.com/jokkedk/webgrind
使用:参照参考文档2
5.sublim安装xdebug client插件,进行断点调度.
a.打开PackCotro:Install Package
b.输出xDebug Client,安装
c.使用即可.详细使用过程省略
d.自定义调试快捷键[本来的快捷键真不好使]
sublime>>preferences>>Key Bdings-User,然后输入下图代码进行更改
[
// { "keys": ["command+f8"], "command": "xdebug_breakpoint" },/*插入断点*/
// { "keys": ["xx"], "command": "xdebug" },
// { "keys": ["xx"], "command": "xdebug_conditional_breakpoint" },
// { "keys": ["command+f5"], "command": "xdebug_continue","args": {"command": "run"} },/*执行下一个断点*/
// { "keys": ["xx"], "command": "xdebug_continue","args": {"command": "step_over"} },
// { "keys": ["xx"], "command": "xdebug_continue","args": {"command": "step_into"} },
// { "keys": ["xx"], "command": "xdebug_continue","args": {"command": "step_out"} },
// { "keys": ["command+shift+f9"], "command": "xdebug_session_start" },/*开启Xdebug:start Debugging*/
// { "keys": ["command+shift+f10"], "command": "xdebug_session_stop" },/*关闭Xdebug:stop Debugging*/
// { "keys": ["xx"], "command": "xdebug_layout", "args":{"keymap": true} },
]
参考文档
1:How to run Xdebug on Mac OSX using MAMP
2:webgrind安装使用详细说明
3:Sublime Text3使用总结