年初我的两个想法
在2025年, 我爱上了 Laravel! - #掘金沸点#
laravel + filament太优雅了, 感觉自己像个土狗#网页链接# - #掘金沸点#
之后, 我终于开始写php了,
首先要面对的问题就是断点调试, 这里还真有一点点小复杂, 首先说明 Jetbrains 的 文档 https://www.jetbrains.com/help/phpstorm/2022.2/configuring-xdebug.html 还是比较准确的, 下面我说几个比较容易忽略的点
- 使用 phpinfo() 获取到你当前的版本输出, 然后粘贴到 这里 , 就能给你适配的 xdebug.dll 下载, 还挺人性化的...



因为读取你的输出了, 所以精准的定位到你的 php.ini 位置, 下载dll 并且放入ext目录中 特别强调你要重启你的 http server, 如果你是使用phpstorm 加载的这个页面, 最好重启下phpstorm, 我一开始这里都发现了调试器了, 但是phpinfo() 一直没有输出让我郁闷很久

然后在能断点调试之前还有一个很重要的内容是

xdebug.mode
这个值也接受 develop/trace, 但是只有 debug 能触发断点,
- 请求分为两种, 一个是浏览器这样的访问应用, 这里需要一个
Xdebug Helper
这个扩展, 原作者因为协议问题被停用了, jetbrains 又维护了一个, 这个直接在 chrome store 里搜索安装即可
另一种就是 cli, 即终端调试脚本等
bash
php scripts/main.php
这种, 需要先设置一个环境变量

这些前置工作都准备好之后就是在 phpstorm 中调试了,
首先要点击 phpstorm 的这个监听按钮

然后点击php的行首增加一个断点, 这时刷新页面, phpstorm 可能会先弹出是否接受请求的弹窗, 点击接受后, 代码执行到这里就可以看相关变量等信息了, 十分方便.
总结:
按照文档操作, 并不复杂, 但是因为涉及到的修改项比较多, 其中一个没执行到, 便无法达到预期, 所以写下这篇文章记录一下.