搭建PHP + Zend Debugger + Eclipse for PHP Developers Tools(PDT)调试环境

调试工具的重要性当然不言而喻, 作为一个想写出稍微有一点点质量的程序的
人来说, 很多时候都会用到. 大多数解释执行的程序语言都缺少一种有效的调试工具,
PHP的调试工具一直都非常少(好像也就XDebug和Zend Debugger), 而且直到今天也还
在逐步完善当中, 这也没有办法啊, 谁让这东西是在服务器端运行呢, 任何真正意义
上的调试都必须在服务器端得到支持才行.

    搭建PHP调试环境大致分三步走:
    1. 第一步是配置服务器, 让其能够支持Zend Debugger.
    2. 第二步是设置客户端工具(Eclipse)的参数.
    3. 第三步是如何开始一次调试.

    需要准备的软件和它们的下载地址, 我在本地搭建调试环境, 使用的是Windows 7
旗舰版, 网站用的是Apache 2.2.10, 开启Thread Safety(这个是称之为线程安全的东西,
Zend Debugger会有两种版本, 分别是支持TS和不支持TS的, 两种版本在配置时写法上会
有小小的区别, 这也是网络上绝大多数教程所没有特别指明的, 我们在安装Zend  Debugger
之前一定要先确认服务器是否有使用TS模式.), PHP版本是5.2.14. Apache和PHP的安装不
在本文的范围内, 我就不多写了, 有兴趣的可以参考我博客的相关文章. 下面这两个东西
请从官方网站直接下载(题外话: 我们使用的任何软件最好都从官网下载, 必要的话做个
文件md5的校验, 以确保我们所有的东西都是稳定/干净的^_^.):
    1. Zend  Debugger 5.2.15
       http://downloads.zend.com/pdt/server-debugger/
     2. Zend PDT 2.1.0 all-in-one
       http://downloads.zend.com/pdt/all-in-one/

    PDT的安装不多写, 自己玩吧, 下面正式开始:
    第一步: 安装/配置Zend Debugger.
    1. 解压ZendDebugger-5.2.15-cygwin_nt-i386.zip, 将5_2_x_comp/ZendDebugger.dll
复制到PHP的ext目录. 这里要注意的是, 5_2_x_nts_comp里面的是No  Thread Safety使用的,
然后再复制dummy.php到网站根目录.
    2. 修改php.ini, 添加如下内容:
        [Zend]
        zend_extension_ts              = "d:/php5214/ext/ZendDebugger.dll"
        zend_debugger.allow_hosts     =  127.0.0.1/32,127.0.0.1/24
        zend_debugger.expose_remotely = always

       注意: 在未使用TS的服务器上应改为:
        [Zend]
        zend_extension              = "d:/php5214/ext/ZendDebugger.dll"
        zend_debugger.allow_hosts     =  127.0.0.1/32,127.0.0.1/24
        zend_debugger.expose_remotely = always
    3. 重启Apache后, 应该可以看到Zend Debugger已经被添加到服务器端.

    第二步: 设置Eclipse参数.
    1.  Window->Preference->PHP->Debug, 在Default Settings里面, 选择 PHP  Debugger
为Zend Debugger, Server为Default PHP Web Server, PHP Executable为PHP5.2.14(CGI).
    2.  Window->Preference->PHP->Debug->Installed Debuggers, 点击右边Installed
Debuggers中的Zend Debugger, 再点击最右侧的Configure按钮, 在弹出框中填写Debug  Port
为10000, Client Host/IP为127.0.0.1, Debug Response  Timeout(ms)为50000.
    3. Run->Debug Configurations, 右键单击PHP Web Page->New, 创建一个新的调试配
置. Server Debugger为Zend Debugger, PHP  Server为Default PHP Web Server, 点击最右
边的Configure按钮, 在弹出窗填写一个网站域名/IP, 例如http://localhost/, 点击ok.
    这里有一个Test Debugger按钮, 可以点击它来查看是否可以连接到服务器的Debugger.
需要注意的是, 只有dummy.php位于刚才填写的网站域名/IP目录下时, 才能正常连接, 否则
会报错.
    继续往下, File里面要填写一个项目中实际的文件, 这里其实应该是当前在建的这个调
试的入口文件, 如果你的网站只有一个唯一的入口, 例如index.php, 那么所有的调试都可
以填index.php, 但要注意一下路径, 最好通过点Browse来选择.
    再往下, Breakpoint, 根据需要决定是否在调试开始的时候暂停于程序第一行, 直到在
调试界面点击继续执行.
    最后一栏URL, 这里最好不要选择Auto Generate, 因为自动生成的地址往往不是我们需
要的. 这个地方的URL分为两个部分, 第一部分是灰色的不用管它, 第二部分我们手动填入
正确的路径+文件名, 这里组合出来的URL应该是我们需要调试的网页的访问地址. 它可能是
http://localhost/myproject/whoweare.html, 也可能是http://localhost/myproject/.

    第三步: 开启调试过程.
    填写完毕后点击Apply, 这个时候就可以点Debug开始调试过程了. 当然也可以点Close
之后通过Run菜单->Debug(F11), 或者 Run菜单->Debug History, 或者 Run菜单->Debug As
来开启调试过程.
    在开启调试之前我们可以设置一些程序执行的断点, 而且在调试过程中, 程序执行到断
点位置, 处于暂停状态的时候, 我们可以观察该状态下所有变量的值, 浏览器输出情况, 更
为强悍的是我们可以通过手动的方式改变程序运行时变量的类型和值, 添加/删除变量, 还
可以在调试完毕后得到一个报告, 用于分析程序执行情况.

你可能感兴趣的:(eclipse,PHP,服务器,Zend,tools,extension)