Firefox+PHPStorm 8+XDebug单步调试

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。

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)。

相关文章
相关标签/搜索