Xdebug断点调试详解

ebug是PHP开发中两个常用的断点调试工具之一(另一个为Zend Debugger)。

现在,我们在Zend Studio中集成PHP的Xdebug模块,从而在Zend Studio中实现断点调试功能。

1、下载、安装、配置Xdebug

关于如何在PHP中安装、配置Xdebug模块,请直接参考文章PHP安装配置Xdebug模块详解

2、Xdebug远程连接配置

想要在Zend Studio中使用Xdebug,就需要启用Xdebug的远程调试功能。

Xdebug与远程调试相关的参数,见下表。

配置参数选项参数值类型与默认值参数选项描述
xdebug.remote_enable boolean类型,默认值=0 是否启用Xdebug的远程调试功能(默认:未启用)
xdebug.remote_host string类型,默认值=localhost 指定远程调试的主机地址(可以为域名、主机名或IP地址)
xdebug.remote_port integer类型,默认值=9000 指定远程调试的端口号
xdebug.remote_handler string类型,默认值=dbgp 指定远程调试的处理协议,值可以为"php3"、"gdb"、"dbgp"。其中,dbgp是唯一受支持的协议。php3可以选择旧版本PHP 3样式的调试器输出;gdb可以像dbgp一样地使用GDB调试器。Xdebug 2.1及以后版本只支持dbgp协议。
xdebug.remote_autostart boolean类型,默认值=0 通常情况下,你需要使用一个指定的HTTP GET/POST 变量来启动远程调试。如果该参数设为1,即使没有指定的变量,Xdebug也将一直尝试开始一个远程调试会话,并与客户端保持连接。
xdebug.remote_connect_back boolean类型,默认值=0 该参数自2.2版本开始引入。如果启用该参数选项,xdebug.remote_host参数将会被忽略。Xdebug将会尝试和发送请求到PHP服务器的所有客户端建立连接。Xdebug将通过$_SERVER['REMOTE_ADDR']来获取客户端所使用的IP地址。只要对方能够连接到服务器,就可以开启一个远程调试会话。
xdebug.remote_cookie_expire_time integer类型,默认值=3600 该参数自2.2版本开始引入。指定远程调试的有效期限(单位:秒)。
xdebug.remote_log string类型,默认值= 指定远程调试的日志文件路径,用于记录远程调试的日志信息,该文件在调试过程将会一直以追加模式保持打开,所以默认情况下,文件内容不会被覆盖。
xdebug.remote_mode string类型,默认值=req 指定远程调试的连接模式,值可以为"req"或"jit"。req表示一旦运行脚本就立即连接调试客户端。jit表示当错误发生时才立即连接调试客户端。

简而言之,如果保持其他参数默认(有些参数官方也不建议修改),我们只需要在php.ini中接着Xdebug原来的配置添加如下一行代码,即可启用远程调试功能。

xdebug.remote_enable=On

最终配置如下图所示。

Xdebug配置参数

 

posted @ 2017-11-08 23:27  Vitascope  阅读(797)  评论(0编辑  收藏  举报