我正在尝试像往常一样使用 XDebug(VSCode 的 PHP 调试扩展)断点逐步调试我的新 Laravel 项目,但我无法使 XDebug 按预期工作。 我正在尝试调用一些基本的 CRUD API。 起初我尝试从网上各种答案中获取一些配置条目,这是我目前的配置:
xdebug.ini
zend_extension=xdebug.so
xdebug.mode = debug
xdebug.remote_autostart = 1
xdebug.client_host = localhost
xdebug.client_port = 9003
xdebug.log = /tmp/xdebug_remote.log
xdebug.log_level = 7
xdebug.start_with_request = yes
启动.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"log": true,
"port": 9003
}
]
}
我想要完成的是 XDebug 可以很好地拦截我的请求,这样我就可以有断点和逐步调试工作。
我正在尝试使用 Thunder Client for VSCode 调用 API,在终端上使用
curl
命令并使用 Chrome 浏览它们:每个 API 都可以访问并且可以工作但不能调试。
我看到 XDebug 开始正确运行,使用
log: true
我在 VSCode 输出中没有看到任何错误,但我也没有看到任何请求传入,就好像 XDebug 没有拦截也没有看到来自我的 Laravel 应用程序的任何请求。
我在
php artisan serve
上使用内置的 localhost:8000
命令运行我的应用程序。
调试器正在使用 VSCode 的 PHP 调试扩展运行。
我在运行 PHP 8.2.4 的 Debian 机器上,Laravel 版本是 10.5.1。
我没有使用任何容器化或虚拟化结构,例如 Docker 或 Vagrant 或类似的东西。