利用Xdebug和Komodo调试PHP应用程序

网络整理 - 07-25

了解Xdebug和Komodo的配置用来在服务器上调试PHP程序。

在编写应用程序时,出色的开发人员使用优秀的工具进行开发和设计。对使用PHP编写基于Web的应用来说同样适用。对PHP应用编程来说两个有用的工具分别是Komodo和Xdebug。

Komodo是一个跨平台的集成开发工具,可以使用DBGp协议进行远程PHP应用程序调试。Xdebug是提供了调试支持功能的PHP扩展。使用这两个工具,你可以在你的服务器上远程调试任何PHP应用程序。

第一步,在运行要调试的脚本的服务器上安装Xdebug,使用PECL可以很容易地完成该任务。你还需要安装Apache,PHP和PEAR开发文件。大多数Linux发行版本都提供了这些安装包,例如apache-devel,php-devel可能还有php-pear。安装完这些软件包或你的发行版本的相同包,执行下列命令:

# pecl install xdebug-beta

一些发行版本提供了打包的Xdebug二进制文件,所以先找一下。如果没有的话,你需要利用Apache/PHP开发文件从源文件来构建它。然后,编辑/etc/php.ini文件或其它对等文件,添加如下内容:

zend_extension=/usr/lib/php/extensions/xdebug.so

[debug]

; Remote settings

xdebug.remote_autostart=off

xdebug.remote_enable=1

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_host=localhost

xdebug.remote_port=9000

;xdebug.idekey=

除非你打算在同一个主机上运行IDE,否则将Xdebug.remote_host关键字从localhost改为你想要在其上运行IDE的主机名。

使用Komodo,要确保对调试支持进行正确的配置。进入引用->调试->连接,设置端口号为上面xdebug.remote_port定义的端口(本例为9000)。确保选中调试->“监听远程调试”。

配置完后,如果还没有重启Apache,那么重启服务器上的Apache,然后浏览你的站点上

的某个页面。加载该页面并在URl中附加XDEBUG_SESsION_START获得相应变量值。例如:

?XDEBUG_SESSION_START=1

如果所有配置都正确完成,那么Komodo将提示你有一个远程应用请求开启调试会话。选择是,然后将会得到一个包含页面内容的新文档,调试会话开始。

如果刚开始时不能正常工作,查看一下确保远程服务器是否正确访问了机器上的调试端口。如果在IDE和服务器中间有一个防火墙,你需要确保防火墙能够在IDE运行的计算机的端口上前导连接。