天天看点

php单步调试,phpstorm,Xdebug单步调试

本地环境:

windows10,phpstudy2018

PHP 版本7.2.10-NTS

phpstorm 版本2020.1

单步调试比var_dump,print_r方便的多.但是配置过程比较繁琐,耐心看完.

确定Xdebug版本.

1. 查看本地phpinfo();

php单步调试,phpstorm,Xdebug单步调试

图片.png

2. 进入Xdebug官网找到匹配的版本

php单步调试,phpstorm,Xdebug单步调试

图片.png

确定好之后开始下载得到一个.dll文件

php单步调试,phpstorm,Xdebug单步调试

图片.png

3. 复制到本地PHP的扩展目录(注意放到对应版本的目录中)

php单步调试,phpstorm,Xdebug单步调试

图片.png

4. 然后打开对应的配置文件php.ini.搜索xdebug添加配置项,我是直接从官网复制的官方可选配置项.

配置中过会需要用到的内容

client_host = www.myide.com(自定义)

client_port = 9001(自定义)

idekey = mykey(自定义)

并且在windows的host文件中配置.域名www.myide.com指向本机127.0.0.1,

zend_extension="刚才下载的dll文件路径"

xdebug.client_host = www.myide.com ;客户端地址

xdebug.client_port = 9001 ;客户端端口号

xdebug.idekey = mykey ;字符串key

xdebug.remote_enable=1 ;调试打开

xdebug.client_discovery_header = ""

xdebug.connect_timeout_ms = 200

xdebug.discover_client_host = false

xdebug.log =

xdebug.log_level = 7

xdebug.mode = debug

xdebug.start_upon_error = default

xdebug.start_with_request = default

xdebug.trigger_value = ""

php单步调试,phpstorm,Xdebug单步调试

图片.png

重启phpstudy使配置生效.到此server端配置完成

配置客户端

客户端指的是写代码的软件(如phpstorm)

1. 设置

php单步调试,phpstorm,Xdebug单步调试

图片.png

选择PHP版本7.2

php单步调试,phpstorm,Xdebug单步调试

图片.png

展开左侧PHP点击Debug填上刚才配置的端口9001

php单步调试,phpstorm,Xdebug单步调试

图片.png

展开左侧Debug点击DBGp Proxy,按照php.ini中内容填写.

php单步调试,phpstorm,Xdebug单步调试

图片.png

在左侧Debug平级的Servers中添加

php单步调试,phpstorm,Xdebug单步调试

图片.png

保存退出.

2. 添加调试项

点击添加配置

php单步调试,phpstorm,Xdebug单步调试

图片.png

点击左上角加号,左侧选择PHP Remote Debug,

然后在右侧勾选Filter debug connection by IDE key

选择前边配置的server,填入PHP配置文件中的key

php单步调试,phpstorm,Xdebug单步调试

图片.png

保存.到这,就配置完了.

开始调试

找了个laravel框架,在入口文件index.php中打上断点.

php单步调试,phpstorm,Xdebug单步调试

图片.png

通过postman访问这个index.php文件.并带上特殊参数

XDEBUG_SESSION_START=mykey

php单步调试,phpstorm,Xdebug单步调试

图片.png

phpstorm就进入调试模式了

php单步调试,phpstorm,Xdebug单步调试

图片.png

当然也可以调试某个控制器方法

php单步调试,phpstorm,Xdebug单步调试

图片.png

可能遇到的问题

有时候可能出现意想不到的bug,比如用phpstorm2018 + Xdebug3.0.2,虽然到断点的地方会停下,但调试的下一步按钮是灰色的

php单步调试,phpstorm,Xdebug单步调试

图片.png

直接升级成phpstorm2020就可以了.