在此记录通过XDebug对php代码进行调试的过程
什么是XDebug?
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。
前期
首先要搭建好PHP的运行环境
安装Debug
1 下载XDebug
1.1 首先,打开网址:https://xdebug.org/wizard.php
1.2 接下来,打开phpinfo的内容页面,复制里面的内容
1.3 然后,把内容粘贴到wizard.php页面中,
1.4 点击分析按钮,完成分析。
1.5 分析完成后,会根据你的phpinfo信息,给出适用的XDebug控件下载地址。
1.6 点击下载链接进行下载。
1.7 下载后的DLL文件保存到PHP设置的ext目录。在我这里设置的是D:\php7.2\ext。
2 XDebug设置
我们已经下载好XDebug的DLL文件,并保存到ext目录。要想使DLL生效,还需要对其进行配置。
2.1 修改配置文件
修改php.ini文件。把下面的配置信息添加到php.ini中
; 指定Xdebug扩展文件的绝对路径
zend_extension=D:\php7.2\ext\php_xdebug-2.7.0-7.2-vc15-x86_64.dll
; 启用代码自动跟踪
xdebug.auto_trace=on
; 允许收集传递给函数的参数变量
xdebug.collect_params=on
; 允许收集函数调用的返回值
xdebug.collect_return=on
; 指定堆栈跟踪文件的存放目录
xdebug.trace_output_dir=D:\phpTools\php7\tmp
xdebug.profiler_append=0
; 是否启用Xdebug的性能分析,并创建性能信息文件
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger=0
; 指定性能分析信息文件的输出目录
xdebug.profiler_output_dir=D:\phpTools\php7\tmp
; 指定性能分析信息文件的名称
; xdebug.profiler_output_name=cachegrind.out.%t-%s
; 指定远程调试的主机名
xdebug.remote_host = localhost
;是否开启远程调试
xdebug.remote_enable=1
; 指定远程调试的处理协议
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
; 指定远程调试的端口号
xdebug.remote_port=9000
; 指定传递给DBGp调试器处理程序的IDEKey
; xdebug.idekey=PHPSTORM
2.2 重启Apache服务
重启Apache服务,在phpinfo中查看是否启动了XDebug。如果配置成功,全显示如下内容:
3 PhpStorm配置
要想使用调试,还需要在PhpStorm中进行配置。
3.1 设置XDebug端口号
在PhpStorm中,通过File->Settings
打开参数设置面板,找到Languages & Frameworks -> PHP -> Debug
,设置Debug port
值为9000,即我们在php.ini中配置的xdebug.remote_port
的值。
3.2 配置DBGp proxy
配置内容如下 ,其中IDE key
是在php.ini中设置的xdebug.idekey
的值。端口号还是9000。IDE key
和Host
不用设置。
3.3 配置Servers
进入Languages & Frameworks -> PHP -> Servers
,如果是空白的,点击+
号添加一个新的Server。这里要填写服务器端的相关信息,如:Name
填写blog,Host
填localhost,Port
填8000,Debugger
选XDebug
至此,配置完成。