1. 须要在php.ini中填写xdebug的相关配置;php
(在WAMPServer之中,须要左键单击WAMPServer的图标,经过菜单编辑php.ini配置;若直接改写php.ini,会被WAMPServer所覆盖)chrome
在php.ini的最末尾,做以下设置:浏览器
;(以实际路径为准)服务器
zend_extension = "d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"ide
[xdebug]工具
xdebug.remote_enable = On测试
xdebug.profiler_enable = offdebug
xdebug.profiler_enable_trigger = off3d
xdebug.profiler_output_name = cachegrind.out.%t.%p调试
;(以实际路径为准)
xdebug.profiler_output_dir = "d:/wamp/tmp"
xdebug.show_local_vars=0
xdebug.idekey = "PHPSTORM"
仅使用XDebug的remote debug功能,不使用profiler功能;idekey用于和开发环境(如“PHPStorm”,“Zend Studio”)、浏览器进行通信(听说用Firefox比较多,调试扩展稳定;chrome的调试扩展很差用)。
2. 进入PHPStorm的File->Setting,在左侧找到PHP->Servers,添加一个Web开发服务器。Host与Port填写开发服务器的实际地址,实际服务端口。Debugger选择XDebug。
3. 在Settings对话框中找到PHP->Debug,确保PHPStorm监听XDebug的调试端口9000.不作其余的修改。
(若是用了phpfpm,或手工配置了fastcgi,有可能会出现9000端口占用冲突;此时须要从新分配端口)
4. 进入PHP->Dbgp Proxy,填写IDE key为”PHPSTORM”,Host为本机,端口为80:
5. 进入“Web Browsers”,只勾选Firefox,其余的浏览器通通去掉;
6. 新建一个工程,加上一个测试用的php文件,确保它可以正确地上传到服务器
(在Tools->Deployment->Configuration对话框中,Deployment path不能置空,至少须要设为“/”;设为空,没法部署,Deployment显示为灰色)
7. 勾选”Run->Start Listening for PHP Debug Connection”,IDE开始监听调试端口;
8. 在Firefox中安装PHP调试扩展“The easiest Xdebug 2.1.1-signed”,重启FireFox浏览器,为调试扩展设置以下参数:
在此与php.ini保持一致,不开启trace和profiler。
9. 在FireFox浏览器右侧工具栏中会多出三个图标,按下“爬虫”图标启用调试(任何一个选项卡均可以用):
10. 在PHPStorm之中找到悬浮的“火狐”图标,点击它(也能够点击上方的箭头,Run xxx.php),就能看到断点里打了一个勾,表示断点已生效。在下方的窗口里单击“单步步过”,能观察到断点里的勾消失掉。反应速度有些慢。
此时已可以单步调试PHP代码,Enjoy it!
配置好以后,若是须要单步调试,在PHPStorm中勾选“Run->Start Listenning for PHP Debug Connections”,在Firefox浏览器中点击“爬虫”图标,在PHPStorm中运行须要调试的页面便可(不须要经过PHPStorm的Debug启动模式,直接Run)。