一般常用的是eclipse+pdt。我是直接下载的Eclipse for php :http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr.它已经包含了pdt了,还有其他的一些插件。
编写一个php文件,然后右键,run as php web page就可以运行了,默认是用的eclipse内置的浏览器,感觉一点都不好。习惯用外部浏览器打开,怎么设置呢?
eclipse中使用外部浏览器打开文件设置方法:
首先在Window->Preferences->General->Web Browser中设置即可。
eclipse调试
安装XDebug:
Eclipse
PDT并不直接提供调试器,你需要选择Zend
Debugger或者XDebug,可惜Zend
Debugger依赖于一个收费的产品,所以我们选择使用完全免费的XDebug。
把你的下载到的XDebug Windows Module ,下载地址:http://xdebug.org/download.php(比如php_xdebug-2.0.3-5.2.5.dll)放到PHP的extension目录(比如C:\php5\ext)中去。
用文本编辑器打开PHP的配置文件php.ini(这个东东的路径可以在Apache中配置,不过通常放到C:\Windows目录下面),在文件最后添加下面的内容:
;载入Xdebug
zend_extension_ts="D:/php/ext/php_xdebug.dll"
;xdebug配置
[Xdebug]
;开启自动跟踪
xdebug.auto_trace
= On
;开启异常跟踪
xdebug.show_exception_trace =
On
;开启远程调试自动启动
xdebug.remote_autostart =
On
;开启远程调试
xdebug.remote_enable = On
;收集变量
xdebug.collect_vars =
On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On
如果你安装了Zend Optimizer,那么你必须注释掉相关的配置,因为Zend
Optimizer和XDebug不兼容,如下所示:
[Zend]
; zend_extension_ts =
"C:xamppphpzendOptimizerlibZendExtensionManager.dll"
;
zend_extension_manager.optimizer_ts = "C:xamppphpzendOptimizerlibOptimizer"
;
zend_optimizer.enable_loader = 0
;
zend_optimizer.optimization_level=15
;zend_optimizer.license_path
=
重启你的Apache使PHP的新配置生效。编写一个调用phpinfo()的简单页面,你应该在输出的页面中能够看到XDebug相关的信息。
现在你的XDebug就安装完成了。
配置
配置Eclipse
*
启动Eclipse,输入你在Apache中配置的目录(比如D:\work\pdt)作为工作空间。
* 从主菜单打开"Window >
Preferences > PHP",
(下面的不清楚可以看图:http://blog.csdn.net/this_capslock/article/details/12790447 )
* 先选中"PHP
Excutables"节点,在右面的面板点"Add"按钮,在接下来的窗口中,"Name"随便填,"Excutable Path"浏览到你的php.exe,PHP
ini file浏览到你的php.ini文件,PHP Debugger选XDebug
* 选中"PHP
Servers"节点,在右面的面板点"New"按钮,在接下来的窗口中,"Name"随便填,"URL"填你的工作空间的URL(比如http://localhost/pdt)
*
选中"Debug"节点,在右面的面板中,"PHP Debugger"选择XDebug,"Server"选择你刚才添加的那个PHP Server,"PHP
Executable"也选择你刚刚添加的那个
* 点"OK",恭喜,配置完成了!
使用
切换到PHP透视图(Perspective),就是右上角,如果看不到PHP透视图,那么点左面的小方块,选"Other...",在弹出的透视图选择对话框中选择PHP。
菜单选择"New > PHP Project"来创建一个PHP项目,然后菜单选择"New >
PHP File"来创建一个新PHP源文件,编写一些简单的代码,我们来测试调试功能。我的测试代码如下。
<?php
$a =
‘hello‘;
$b = ‘world‘;
echo "$a $b!";
?>
在上面代码的第三行设置一个断点,你可以右键点击代码左面的空白然后选择"Toggle
Breakpoints"来添加或删除断点,或者简单的用Ctrl+Shift+B组合键。
首先我们把这个PHP文件当作普通的脚本来调试,而不是在浏览器中调试。
菜
单选择"Run > Debug Configurations...",弹出的窗口中左面双击"PHP
Script"节点来创建一个新的PHP脚本启动配置(Launch
Configuration),然后选中这个新建的配置(比如"New_configuration"),在右面的"PHP
File"中浏览到要调试的PHP文件,点击下面的"Debug"按钮,调试开始了!
Eclipse会很快切换到另外一个透视图"PHP
Debug",中间也许会询问你一下是否要切换,点"OK"继续即可。
PHP
Debug透视图的布局和PHP透视图有很大不同,各种跟调试相关的子窗口("View"一般翻译成视图,这里怕跟Perspective的翻译透视图搞混,就叫子窗口了)分布在四周。
下面是几个大家常用的:
左上的Debug:这个窗口内是调用栈,能够显示当前停止位置的递归函数调用层次
中间的编辑器:这个不用说还是显示代码用,不过注意当前停止位置的代码行左面会有一个小箭头作为指示
左下的Console:控制台输出,对于PHP
Script,通常就是在这里输出信息了,不过对于PHP
Web页面的调试,通常没什么用
右上的Breakpoints:项目中所有的断点,没啥好说的
右上的Variables:和Breakpoints共用一个窗口,用上面的选项卡来切换。这个可是太有用了,显示当前上下文中所有的全局和局部变量及其内容
右上的Expressions:和Breakpoints共用一个窗口,用上面的选项卡来切换。这个也很有用,可以输入表达式来更方便的查看或计算变量内容
在PHP
Debug透视图中可以点击Debug View中的图标或用快捷键来进行单步跟踪,比如:
F5: 单步跳入(可以跳入require()函数来跟踪到别的PHP文件哟)
F6:
单步跳过
F7: 单步跳出(可以从被require()的文件内跳回调用者哟)
F8:
继续执行(直到遇到下一个断点)
Ctrl+R:
执行到光标所在行(除非遇到断点)
下面我们把这个PHP文件当成Web页面来在浏览器中调试。
菜 单选择"Run > Debug
Configurations...",弹出的窗口中左面双击"PHP Web Page"节点来创建一个新的PHP
Web页面启动配置,然后选中这个新建的配置(比如"New_configuration"),在右面的"File"中浏览到要调试的PHP文件,注意看
下面自动生成的URL是否匹配实际情况,如果不正确,点掉"Auto
Generate",手动输入访问这个PHP页面的合法URL。
如果完全按照本攻略配置,应该是不用手动修改的。
点击下面的"Debug"按钮,调试再次开始了!而且,是你所关心的Web页面调试!
Eclipse切换到"PHP Debug"透视图,注意这次一个子窗口"Internal
Web Browser"会自动打开,地址栏里就是你的调试目标页面的URL。
不
过很不幸的,这里似乎有个Bug,不是每次都能打开这个"内部浏览器"的,有时候PDT会从外部打开一个IE窗口(或者遨游,火狐),这种情况下你就要到
那个窗口查看的PHP输出了,不过还好,不影响我们使用。据我参考的老外的文章中提到的,只要你在Eclipse启动之前预先打开一个IE窗口就可以确保
内部浏览器,我验证了一下,似乎真的有效哟!
注意看Variables子窗口里面的内容,现在可以把环境变量和请求看的清清楚楚了,哈哈!
其它的方面和PHP脚本调试类似。
如果你想中止调试,似乎在调试PHP Web
Page的情况下那个红方块不是总起作用,只要右键在Debug子窗口中点中那个树形结构的根节点,然后选择"Terminate"即可。
eclipse调试php:http://www.cnblogs.com/sayo/archive/2008/09/10/1288366.html
更多:http://hoarn.blog.51cto.com/1642678/1184441
http://www.searchtb.com/2010/12/using-xdebug-to-improve-performance.html