Eclipse 3.4 (Ganymede) 开发调试PHP全攻略

来源:互联网 发布:ubuntu 查看文件路径 编辑:程序博客网 时间:2024/05/22 16:05




<script type="text/javascript"><!--google_ad_client = "pub-3942805498171246";google_ad_width = 468;google_ad_height = 60;google_ad_format = "468x60_as";google_ad_type = "text_image";//2007-01-19: 渠道1google_ad_channel = "4647272579";google_color_border = "336699";google_color_bg = "FFFFFF";google_color_link = "0000FF";google_color_text = "000000";google_color_url = "008000";//--></script><script src="Eclipse%203_4%20%28Ganymede%29%20%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95PHP%E5%85%A8%E6%94%BB%E7%95%A5%20-%20%E4%B8%AD%E5%9B%BDJAVA%E6%89%8B%E6%9C%BA%E7%BD%91.files/show_ads.js" type="text/javascript"></script><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-3942805498171246&amp;dt=1221720445359&amp;lmt=1220951602&amp;prev_fmts=180x150_as&amp;format=468x60_as&amp;output=html&amp;correlator=1221720444750&amp;channel=4647272579&amp;url=file%3A%2F%2F%2FJ%3A%2Faa%2F1%2FEclipse%25203_4%2520%28Ganymede%29%2520%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95PHP%E5%85%A8%E6%94%BB%E7%95%A5%2520-%2520%E4%B8%AD%E5%9B%BDJAVA%E6%89%8B%E6%9C%BA%E7%BD%91.htm&amp;color_bg=FFFFFF&amp;color_text=000000&amp;color_link=0000FF&amp;color_url=008000&amp;color_border=336699&amp;ad_type=text_image&amp;frm=0&amp;cc=291&amp;ga_vid=1223787362761865200.1221720445&amp;ga_sid=1221720445&amp;ga_hid=161867585&amp;flash=9.0.115.0&amp;u_h=800&amp;u_w=1280&amp;u_ah=770&amp;u_aw=1280&amp;u_cd=32&amp;u_tz=480&amp;u_java=true" allowtransparency="" scrolling="no" width="468" frameborder="0" height="60"></iframe>


来自:http://www.cnjm.net/mobile/article4400.html
Eclipse 3.4 (Ganymede) 开发调试PHP全攻略

概述
本文介绍如何在Eclipse 3.4 (Ganymede)中配置PHP开发和调试环境,即PDT (PHP Development Toolkit)。
笔者参考了网上的一些英文文档,在参考一节中列出。

安装
JAVA手机网[www.cnjm.net]

先决条件:
以下软件应已经安装并正常运行,本文不涉及这些软件的安装细节。
* JDK 1.6 - 下载:
* Apache 2.0.x
* PHP 5.x

下载下列软件:
* Eclipse IDE for Java EE Developers -
 注意必须是For Java EE的版本。
JAVA手机网[www.cnjm.net]
* DLTK Core Frameworks 1.0 Integration build -
 注意:DLTK是所谓动态语言开发包,PDT依赖于它,不知为什么现在官方主页上的稳定版本从1.0版降到了0.95,而PDT必须在1.0上运行,所以请选择最新的Integration版本(在页面最下面),而不是Release或Stable版本。
* PDT 2.0 -
 选择Latest Releases中的 2.0.0 Integration Build即可
* XDebug Windows Module -
 在页面的右面Windos modules下面选择适合你的PHP版本的下载即可。

安装Eclipse 3.4:
Eclipse是个绿色软件,把下载到的zip(比如eclipse-jee-ganymede-win32.zip)解压缩到一个目录即可使用。
只要双击根目录下的eclipse.exe即可启动,第一次启动会要求你指定工作空间(workspace)的路径,请参考配置一节的内容。

安装DLTK Core Frameworks 和PDT 2.0:
把你下载到的DLTK Core Frameworks(比如dltk-core-I-I200807291021-200807291021-incubation.zip)和PDT 2.0(比如org.eclipse.php_feature-I20080722.zip)分别解压缩到两个临时目录。
启动Eclipse,然后到主菜单打开"Help > Software Updates",
在出现的对话框中切换到"Available Software"选项卡,点"Add Site"按钮,然后点"Local..."按钮,在接下来的对话框中浏览到DLTK Core Frameworks的解压缩目录,点OK。


确保你刚刚添加的本地安装站点被选中,然后点"Install",按照提示一步步继续即可将DLTK Core Frameworks插件安装到Eclipse中。
如法炮制安装PDT 2.0,安装完以后按照提示重启Eclipse。

好了,现在为止,你已经可以使用Eclipse来创建PHP项目,编辑PHP文件了,下面我们来配置调试器。

安装XDebug:
Eclipse PDT并不直接提供调试器,你需要选择Zend Debugger或者XDebug,可惜Zend Debugger依赖于一个收费的产品,所以我们选择使用完全免费的XDebug。
把你的下载到的XDebug Windows Module (比如php_xdebug-2.0.3-5.2.5.dll)放到PHP的extension目录(比如C:/php5/ext)中去。
JAVA手机网[www.cnjm.net]
用文本编辑器打开PHP的配置文件php.ini(这个东东的路径可以在Apache中配置,不过通常放到C:/Windows目录下面),在文件最后添加下面的内容:
[XDebug]
; Modify the filename below to reflect the .dll version of your xdebug
zend_extension_ts="C:/php5/ext/php_xdebug-2.0.3-5.2.5.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1  ; if debugging on remote server,
                             ; put client IP here
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="C:/php5/tmp"

请注意根据你的实际情况修改zend_extension_ts和xdebug.profiler_output_dir后面的路径。

如果你安装了Zend Optimizer,那么你必须注释掉相关的配置,因为Zend Optimizer和XDebug不兼容,如下所示:
[Zend]
JAVA手机网[www.cnjm.net]
; 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就安装完成了。
JAVA手机网[www.cnjm.net]

配置

这里需要进行两方面的配置,一方面是Apache的配置,要让你的Eclipse工作空间(workspace)中的php项目成为合法的Web站点,另一方面要在Eclipse中配置使得它可以自动为被调试的php文件生成合法的URL (虽然你可以手动指定URL,但配置好了就会比较方便)。

配置Apache
比如我们决定采用D:/work/pdt作为Eclipse的工作空间目录,那么打开Apache的httpd.conf添加如下内容:
JAVA手机网[www.cnjm.net]
Alias /pdt/ "D:/work/pdt/"
<Directory "D:/work/pdt/">
   Options Indexes MultiViews
   AllowOverride None
JAVA手机网[www.cnjm.net]
   Order allow,deny
   Allow from all
</Directory>
这样你的工作空间中的任意项目中的php文件都可以用以下的URL来访问,而无需频繁更改Apache配置:
<project_name>/<php_filename>.php
你可以在D:/work/pdt目录下创建一个test.php来测试配置是否成功,内容如下:
<?php
phpinfo();
?>


配置Eclipse
* 启动Eclipse,输入你在Apache中配置的目录(比如D:/work/pdt)作为工作空间。
* 从主菜单打开"Window > Preferences > PHP",
* 先选中"PHP Excutables"节点,在右面的面板点"Add"按钮,在接下来的窗口中,"Name"随便填,"Excutable Path"浏览到你的php.exe,PHP ini file浏览到你的php.ini文件,PHP Debugger选XDebug


* 选中"PHP Servers"节点,在右面的面板点"New"按钮,在接下来的窗口中,"Name"随便填,"URL"填你的工作空间的URL(比如http://www.cnjm.net/resfetch/BEe.ZGSB34qKLR94Qy2.H8ZkioGUZA__)


JAVA手机网[www.cnjm.net]
* 选中"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组合键。


JAVA手机网[www.cnjm.net]
首先我们把这个PHP文件当作普通的脚本来调试,而不是在浏览器中调试。
菜单选择"Run > Debug Configurations...",弹出的窗口中左面双击"PHP Script"节点来创建一个新的PHP脚本启动配置(Launch Configuration),然后选中这个新建的配置(比如"New_configuration"),在右面的"PHP File"中浏览到要调试的PHP文件,点击下面的"Debug"按钮,调试开始了!


Eclipse会很快切换到另外一个透视图"PHP Debug",中间也许会询问你一下是否要切换,点"OK"继续即可。
JAVA手机网[www.cnjm.net]

PHP Debug透视图的布局和PHP透视图有很大不同,各种跟调试相关的子窗口("View"一般翻译成视图,这里怕跟Perspective的翻译透视图搞混,就叫子窗口了)分布在四周。


下面是几个大家常用的:
左上的Debug:这个窗口内是调用栈,能够显示当前停止位置的递归函数调用层次
中间的编辑器:这个不用说还是显示代码用,不过注意当前停止位置的代码行左面会有一个小箭头作为指示
JAVA手机网[www.cnjm.net]
左下的Console:控制台输出,对于PHP Script,通常就是在这里输出信息了,不过对于PHP Web页面的调试,通常没什么用
右上的Breakpoints:项目中所有的断点,没啥好说的
右上的Variables:和Breakpoints共用一个窗口,用上面的选项卡来切换。这个可是太有用了,显示当前上下文中所有的全局和局部变量及其内容
右上的Expressions:和Breakpoints共用一个窗口,用上面的选项卡来切换。这个也很有用,可以输入表达式来更方便的查看或计算变量内容

在PHP Debug透视图中可以点击Debug View中的图标或用快捷键来进行单步跟踪,比如:
F5: 单步跳入(可以跳入require()函数来跟踪到别的PHP文件哟)
F6: 单步跳过
F7: 单步跳出(可以从被require()的文件内跳回调用者哟)
F8: 继续执行(直到遇到下一个断点)
JAVA手机网[www.cnjm.net]
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。
JAVA手机网[www.cnjm.net]
不过很不幸的,这里似乎有个Bug,不是每次都能打开这个"内部浏览器"的,有时候PDT会从外部打开一个IE窗口(或者遨游,火狐),这种情况下你就要到那个窗口查看的PHP输出了,不过还好,不影响我们使用。据我参考的老外的文章中提到的,只要你在Eclipse启动之前预先打开一个IE窗口就可以确保内部浏览器,我验证了一下,似乎真的有效哟!


注意看Variables子窗口里面的内容,现在可以把环境变量和请求看的清清楚楚了,哈哈!
其它的方面和PHP脚本调试类似。

如果你想中止调试,似乎在调试PHP Web Page的情况下那个红方块不是总起作用,只要右键在Debug子窗口中点中那个树形结构的根节点,然后选择"Terminate"即可。

好,我们的攻略到此结束,那么你是否也已经顺利通关了呢?
原创粉丝点击