1. 需要在php.ini中填写xdebug的相关配置;

(在WAMPServer之中,需要左键单击WAMPServer的图标,通过菜单编辑php.ini配置;若直接改写php.ini,会被WAMPServer所覆盖)

在php.ini的最末尾,作如下设置:

;(以实际路径为准)

zend_extension = "d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"

[xdebug]

xdebug.remote_enable = On

xdebug.profiler_enable = off

xdebug.profiler_enable_trigger = off

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。

clip_image002

3. 在Settings对话框中找到PHP->Debug,确保PHPStorm监听XDebug的调试端口9000.不做其他的修改。

(如果用了phpfpm,或手工配置了fastcgi,有可能会出现9000端口占用冲突;此时需要重新分配端口)

clip_image003

4. 进入PHP->Dbgp Proxy,填写IDE key为”PHPSTORM”,Host为本机,端口为80:

clip_image005

5. 进入“Web Browsers”,只勾选Firefox,其他的浏览器统统去掉;

clip_image007

6. 新建一个工程,加上一个测试用的php文件,确保它能够正确地上传到服务器

(在Tools->Deployment->Configuration对话框中,Deployment path不能置空,至少需要设为“/”;设为空,无法部署,Deployment显示为灰色)

clip_image009

7. 勾选”Run->Start Listening for PHP Debug Connection”,IDE开始监听调试端口;

clip_image011

8. 在Firefox中安装PHP调试扩展“The easiest Xdebug 2.1.1-signed”,重启FireFox浏览器,为调试扩展设置如下参数:

clip_image012

在此与php.ini保持一致,不开启trace和profiler。

9. 在FireFox浏览器右侧工具栏中会多出三个图标,按下“爬虫”图标启用调试(任何一个选项卡都可以用):

clip_image014

10. 在PHPStorm之中找到悬浮的“火狐”图标,点击它(也可以点击上方的箭头,Run xxx.php),就能看到断点里打了一个勾,表示断点已生效。在下方的窗口里单击“单步步过”,能观察到断点里的勾消失掉。反应速度有些慢。

clip_image016

此时已能够单步调试PHP代码,Enjoy it!

配置好之后,如果需要单步调试,在PHPStorm中勾选“Run->Start Listenning for PHP Debug Connections”,在Firefox浏览器中点击“爬虫”图标,在PHPStorm中运行需要调试的页面即可(不需要通过PHPStorm的Debug启动模式,直接Run)。

posted on 2016-01-13 08:56  星羽小白  阅读(4777)  评论(0编辑  收藏  举报