php 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能直接debug到断点调试分析问题。
环境:
客户端IDE:PHPStorm .ip=10.0.0.25 .port=9001 ,IDE key=PHPSTORM
xdebug服务端 ip=10.0.0.24
配置php.ini:
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20151012/xdebug.so [Xdebug] xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=10.0.0.25 xdebug.remote_port=9001 #xdebug.remote_connect_back=1 #这里注释掉后,就只认remote_host的值,这样就可以把所有客户端的请求在remote_host的IDE上进行调试 xdebug.remote_autostart=1 xdebug.idekey = PHPSTORM xdebug_session_start=1 xdebug_session_stop=0
php配置了xdebug后需要重启php-fmp,这样就解决所有客户端的请求在10.0.0.25的phpstorm上进行调试了的IDE上进行调试
注意:调式的时候。会阻塞其他客户端请求
原文链接:PHPStorm Xdebug 调试任意客户端的连接请求,转载请注明来源!