PHP xdebug+phpstorm调试 配置

/ 0评 / 0

在动手配置之前先了解一下xdebug调试的原理。

我们知道浏览器打开网站地址后,web服务器接收到请求会把请求通过fastcgi发送给php处理。php处理完成后把数据返回给web服务器,web服务器再发送给浏览器,完成整个请求过程。而当我们安装了xdebug扩展后,xdebug会将请求周期内的php运行状态发送给指定的接收者。接收者(我们这里是phpstorm)则会打印出我们想看到的调试信息。下面我们开始配置。

1、首先要安装xdebug,安装方法这里不详细说了。windows下载对应版本的xdebug.dll,linux直接 apt install 或者自己编译都行。要检查xdebug是否安装成功,看一下 phpinfo() 有没有 xdebug 即可。也可以在命令行下运行 php -v ,如果有xdebug字样,则表示安装成功。

2、接下来要配置xdebug。找到php的配置文件,不同的安装方式可能会导致php的配置文件放在不同的位置,在命令行下可以用 php --ini 来查看php加载了哪些配置文件。找到相应的配置文件后我们来看一下配置参数,最基本的配置只要配置好4个参数就行。

[xdebug]
xdebug.remote_enable=1 # 开启远程调试
xdebug.remote_host=xxx.xxx.xxx.xxx # 调试信息接收者的IP,本机调试就是127.0.0.1
xdebug.remote_port=9000 # 接收者监听调试信息的端口,即phpstorm要监听的端口,用来接受调试信息
xdebug.idekey=PHPSTORM # 发送标示,xdebug只有在请求的cookie中含有idekey所指定的标示才会启用调试模式,并将信息发送给接收者。<br></br>

还有更多参数可以自行查看官网手册:https://xdebug.org/docs/all_settings

3、phpstorm配置,主要有两个地方。

3.1、找到如下图的配置,xdebug的debug port填上刚刚php配置的接受端口,phpstorm会监听这个端口,接受xdebug发来的信息。注意端口冲突。

phpstorm xdebug

3.2、如下图,找到server,添加路径映射,也就是将网站的域名/IP、端口和根目录添加进去。否则phpstorm找不到对应的项目文件,打不了断点。

phpstorm xdebug

4、安装浏览器扩展,这一步应该不是必须的,看自己实际的开发环境。chrome安装xdebug扩展启用后,会自动在需要调试的网站添加idekey标识以方便使用,不需要每次都手动添加。

5、phpstorm开启监听调试端口,start listening for php xdebug connections,如下图

phpstorm xdebug

好了,接下来就是愉快(生不如死)的调试时间了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注