22

下载Xdebug

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

Xdebug官方网站:http://xdebug.org/

配置php.ini

将下载的xdebug.dll库拷贝到%PHP_HOME%/ext目录,然后打开php.ini文件添加如下配置:
[XDebug]
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir ="D:phpStudytmpxdebug"
xdebug.trace_output_dir ="D:phpStudytmpxdebug"
xdebug.profiler_output_name = "cache.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_mode = "req"
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9001
xdebug.idekey="PHPSTORM"
xdebug.remote_autostart = no
zend_extension="D:phpStudyphp55nextxdebug.dll"

上面下载的dll库放置位置不是固定,只要在php.ini配置文件中准确指定即可,即zend_extension配置项指向dll库文件。
这一部分关于Xdebug的配置是很复杂的,这里只是简单地配置了一下,详细配置可以查阅相关资料。
Xdebug全部可用配置可参考官方的一个链接:http://xdebug.org/docs/all_se...

PHPStorm设置

服务器配置完成后,需要对PHPStorm作一些设置,使其能够监听到浏览器的请求。

1、进入File>Settings>PHP,设置本地的php解释器,解释器一般指的是php的二进制文件,windows下的php安装路径下的php.exe,类unix系统下就是bin/php文件

Center

2、进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息

Host指的是http服务器上配置的项目的访问域名,我本地nginx配置的是test.yii.com,用的是默认的80端口
Center

3、进入File>Settings>PHP>Debug,找到XDebug选项卡

Debug port 填写的是上文中,php.ini配置文件当中xdebug.remote_port那一项的值
Center

4、进入File>Settings>PHP>Debug>DBGp Proxy

IED key填写的值是php.ini文件中xdebug.idekey的值,Host、Port是File>Settings>PHP>Servers中设定的Host、Port值
Center

5、点菜单栏的Run>Edit Configurations… 在弹出的窗口中添加一个调试配置:

点击左上角加号,选择PHP Web Application
Center

安装浏览器插件

建议使用Chrome浏览器,安装 xdebug helper插件, 下载好之后点选项,IDE选PHPSTORM
Center

开始调试

1、在代码中设置断点,打开监听按钮。监听按钮在phpStorm右上角

Center

2、用浏览器访问设置了断点的代码,对应的控制器的url

例如在控制器SiteController中新建一个actionTest方法,浏览器中应该访问url是http://test.yii.com/index.php...
访问该url,界面切换到phpStorm调试界面

Center

3、使用phpStorm调试按钮,即可动态调试代码了,可以通过快捷键操作,这样更加方便,F7步进,Shift+F8跳过区块等

Center

在调试界面下,可以看到变量信息
Center


Charles
410 声望25 粉丝

14年入行,后端开发