本地环境:
windows10,phpstudy2018
PHP 版本7.2.10-NTS
phpstorm 版本2020.1
单步调试比var_dump,print_r方便的多.但是配置过程比较繁琐,耐心看完.
确定Xdebug版本.
1. 查看本地phpinfo();
2. 进入Xdebug官网找到匹配的版本
确定好之后开始下载得到一个.dll文件
3. 复制到本地PHP的扩展目录(注意放到对应版本的目录中)
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 = ""
重启phpstudy使配置生效.到此server端配置完成
配置客户端
客户端指的是写代码的软件(如phpstorm
)
1. 设置
选择PHP版本7.2
展开左侧PHP点击Debug填上刚才配置的端口9001
展开左侧Debug点击DBGp Proxy,按照php.ini中内容填写.
在左侧Debug平级的Servers中添加
保存退出.
2. 添加调试项
-
点击添加配置
点击左上角加号,左侧选择PHP Remote Debug,
然后在右侧勾选Filter debug connection by IDE key
-
选择前边配置的server,填入PHP配置文件中的key
保存.到这,就配置完了.
开始调试
-
找了个laravel框架,在入口文件index.php中打上断点.
-
通过postman访问这个index.php文件.并带上特殊参数
XDEBUG_SESSION_START=mykey
-
phpstorm就进入调试模式了
-
当然也可以调试某个控制器方法
可能遇到的问题
有时候可能出现意想不到的bug,比如用phpstorm2018 + Xdebug3.0.2,虽然到断点的地方会停下,但调试的下一步按钮是灰色的
直接升级成phpstorm2020就可以了.