在这一章节里, 我们来了解一下如何在 Eclipse 中调试配置 XDebug
在日常开发中, 利用 XDebug 能够高效的解决非语法错误所造成的 Bugs, 现在就让我们开始着手实践
一、 安装 XDebug 扩展
Unix 环境:
1、打开终端: Ctrl + Alt + T
2、运行: sudo apt-get install php5-xdebug;
3、运行: sudo vi /etc/php5/conf.d/xdebug.ini
4、将如下内容写入 xdebug.ini 文件中:
1
2
3
4
|
xdebug.remote_enable=On
xdebug.remote_host=
"localhost"
xdebug.remote_port=9000
xdebug.remote_handler=
"dbgp"
|
5、重启 Apache: sudo /etc/init.d/apache2 restart
Windows 环境:
1、下载 XDebug DLL 文件
DLL 文件有两个版本, Thread Safety 和 NON Thread Safety, 你可以在 phpinfo() 中查看 Thread Safe 的值来决定
2、在 php.ini 中写入:
1 | zend_extension_ts= "c:\php\ext\php_xdebug-2.2.1-5.3-vc9.dll" |
至此, XDebug 安装已经完毕
二、 利用 XDebug 来优化错误报告
在开发模式下, 把 display_errors 设为 1;
1 | ini_set ( 'display_errors' , 1); |
正常情况下的报错界面:
通过如下修改来显示更好的效果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
ini_set
(
'xdebug.show_local_vars'
,
'on'
);
//在显示错误信息的同时显示局部变量
ini_set
(
'xdebug.dump.SERVER'
,
'HTTP_HOST, SERVER_NAME'
);
//在显示错误信息的同时显示 SERVER 信息
ini_set
(
'xdebug.dump_globals'
,
'on'
);
//在显示错误信息的同时显示全局变量
ini_set
(
'xdebug.collect_params'
, 4);
//0 代表不显示任何额外信息, 4 代表显示所有额外信息
/* 或者也可以采用在 php.ini 中写入: */
xdebug.show_local_vars=On
xdebug.dump.SERVER=HTTP_HOST, SERVER_NAME
xdebug.dump_globals=On
xdebug.collect_params=4
//如果你想输出 $_GET 值, 同样可以加入如下:
xdebug.dump.GET=*
//如果你希望每个错误页面都输出全局变量, 也可以加入如下:
xdebug.dump_once=Off
|
优化后效果如下:
三、 在 Eclipse 中进行配置
进入菜单: Window -> Preferences
设置 PHP -> PHP Executeables
设置 PHP -> Debug
Debug" title="设置 PHP -> Debug" src="http://www.sunzhenghua.com/public/images/blog/contentpic/xdebug/debug.jpg" class="lazy imgshadow">
进入菜单: Run -> Debug Configurations
双击 "PHP Web Application" 添加一个新的配置
首先在 Server 选项卡中, 点击 New
可以明显的看出, 我们填写了配置名称, 网站的根目录URL(Base URL) 以及本地 Web 根目录路径(Local Web Root), 点击 Next, 进入下一步:
点击 Add 添加 WorkSpace 的路径, 刚刚已经设置了 web 根目录的路径, 这里直接接下去填写即可, 我本机的路径为: /var/www/sh-sprint-008
完成后, 在 File 栏中写入该项目的入口文件, 取消 ‘Auto Generate’, 在 URL 栏中同样填写入口文件:
(你也可以填写其他文件路径, XDebug 将会以该文件为起始文件加载)
随后进入 Debugger 选项卡, 在 "Server Debugger" 中选择 "Xdebug", 并点击 Configure...
Accept remote session (JIT) 的设置和 IDE KEY 用来配置 Firebox 游览器中的 Easy XDebug 插件
最后进入 Window -> Preferences → General → Web Browser
到这里, 对 XDebug 的配置就算完成了
四、 安装 Easy XDebug 插件
为了更为方便的使用 XDebug 进行调试, 可以在 Firefox 中安装 Easy XDebug, 这里就不再叙述如何安装插件了
只需要在安装完成后, 将刚刚记录的 IDE KEY 填入插件中即可, 如下图:
五、 利用 XDebug 调试
现在你就可以在文件中双击行号创建断点, 如下:
完成后点击执行 XDebug, 如下: (同样你也可以通过 Firefox 游览器右下角的 Easy XDebug 开启执行 SDebug)
此时 XDebug 开始调用 Firefox 执行, 你也可以在右上角进行切换查看进程
关于更多的调试方法, 我会在日后的文章中演示, 同时也欢迎留言指点, 我会尽快补充