开发扩展时,最好能配置 xdebug,方便调试代码、查看变量等。使用日志打印、或者 echo、print 的话,反而会麻烦会多。
[TOC]
前置条件
一、安装 Xdebug
- 如果是小皮面板上「软件管理」下载的 PHP,会自带
Xdebug.dll
- 如果你是在 PHP 官网下载的 windows 版本 PHP,或者想替换小皮自带的 Xdebug,就去 Xdebug 官方向导下载 Xdebug.dll
- 粘贴本机命令行中 php -i 的输出内容到 Xdebug 向导,然后按说明下载,放到对应
php目录/ext/
文件夹下面。
- 安装 Xdebug helper 浏览器扩展
https://www.jetbrains.com/help/phpstorm/2024.1/browser-debugging-extensions.html
二、配置 PHP
打开当前 Flarum 正在使用的 php 的 php.ini
文件。
检查 Flarum 所需的 php 扩展是不是都启用了。
如果你的 Xdebug 版本大于等于 3,则在文件末尾粘贴以下内容。具体看版本的话
注意,你需要根据自己的情况调整 zend_extension
, client_host
, client_port
[Xdebug]
zend_extension=D:/phpstudy_pro/Extensions/php/php7.4.20nts/ext/php_xdebug.dll
xdebug.mode= "debug"
# IDE 标识
xdebug.idekey="PHPSTORM"
# 调试客户端(IDE)所在的主机地址
xdebug.client_host=localhost
# 调试客户端(IDE)所在的主机端口
xdebug.client_port=9005
如果版本小于 3,则粘贴:
[Xdebug]
zend_extension=D:/phpstudy_pro/Extensions/php/php7.4.20nts/ext/php_xdebug.dll
# IDE 标识
xdebug.idekey="PHPSTORM"
# 调试客户端(IDE)所在的主机地址
xdebug.remote_host=localhost
# 调试客户端(IDE)所在的主机端口
xdebug.remote_port=9005
xdebug.remote_enable=true
保存后需要在小皮面板重启 nginx
三、设置 PhpStorm 项目结构
PhpStorm 打开项目根目录
打开设置,选择 PHP 语言版本
如果没有版本选项,需要自行点击右边三个点,在弹窗中添加 php 可执行文件,会自动识别到 xdebug。
四、配置 PhpStorm 调试功能
打开设置,配置 PHP - Debug - Xdebug - Debug port,跟刚刚 php.ini 里的端口一致
配置 PHP - Debug - DBGp Proxy,跟 php.ini 里的 IDE 标识、主机地址、端口一致
配置 PHP - Servers,添加一个服务器。这里分别填写 flarum 的访问地址、flarum 的端口号
回到 Debug 页面,测试调试服务连接。如下图,测试完所有条件都通过并打了勾,就说明都配置对了。
注意这里路径写到 public
目录
如果其中这三个检查没有通过,并有这样的提示,那也没关系,也是可以正常调试的。
添加 PhpStorm 调试脚本
运行调试脚本
五、开始调试
打上断点,然后点击你的功能,就能看到 PhpStorm 转到调试面板了。
后记
php.ini
里不写 IDE 标识、不安装浏览器扩展实测也能成功调试,启动 PhpStorm 调试脚本后,会在 Cookie 里记录一条随机的 Xdebug 标识,有知道为什么的佬可以科普下。