在 Eclipse PHP 中配置 XDebug 详解

来源:互联网 发布:初学java看什么书好 编辑:程序博客网 时间:2024/05/01 08:41
 
在 Eclipse PHP 中配置 XDebug 详解
日期 :2013-03-13

在这一章节里, 我们来了解一下如何在 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 的值来决定

2013的某一天

2、在 php.ini 中写入:

1zend_extension_ts="c:\php\ext\php_xdebug-2.2.1-5.3-vc9.dll"

至此, XDebug 安装已经完毕

 

二、 利用 XDebug 来优化错误报告

 

在开发模式下, 把 display_errors 设为 1;

1ini_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 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

 

WorkSpace 路径

 

完成后, 在 File 栏中写入该项目的入口文件, 取消 ‘Auto Generate’, 在 URL 栏中同样填写入口文件: 
(你也可以填写其他文件路径, XDebug 将会以该文件为起始文件加载)

 

填写起始文件路径

 

随后进入 Debugger 选项卡, 在 "Server Debugger" 中选择 "Xdebug", 并点击 Configure...

 

在 Server Debugger 中选择 Xdebug

 

设置 DBGP

 

Accept remote session (JIT) 的设置和 IDE KEY 用来配置 Firebox 游览器中的 Easy XDebug 插件

 

最后进入 Window -> Preferences → General → Web Browser

 

选择 Web Browser

 

到这里, 对 XDebug 的配置就算完成了

 

四、 安装 Easy XDebug 插件

 

Easy XDebug 插件

 

为了更为方便的使用 XDebug 进行调试, 可以在 Firefox 中安装 Easy XDebug, 这里就不再叙述如何安装插件了
只需要在安装完成后, 将刚刚记录的 IDE KEY 填入插件中即可, 如下图:

 

Easy XDebug 插件

 

五、 利用 XDebug 调试

 

现在你就可以在文件中双击行号创建断点, 如下:

 

创建断点

 

完成后点击执行 XDebug, 如下: (同样你也可以通过 Firefox 游览器右下角的 Easy XDebug 开启执行 SDebug)

 

执行 XDebug

 

此时 XDebug 开始调用 Firefox 执行, 你也可以在右上角进行切换查看进程

 

查看 XDebug 进程

 

关于更多的调试方法, 我会在日后的文章中演示, 同时也欢迎留言指点, 我会尽快补充


0 0
原创粉丝点击