首页 > 解决方案 > 为什么我的 Laravel 项目中的 VS Code 断点不起作用?

问题描述

我正在使用 VS Code 来调试我的 Laravel 项目。我已经安装了 PHP Debug 扩展并将 PHP 配置为使用 XDebug 进行调试。服务器是 Apache(使用 Xampp)。我可以使用我的浏览器访问我的网站,但是我使用 VS Code 在我的项目中设置的断点从未被命中?我在这里做错了什么?

标签: laravelvisual-studio-codexdebugbreakpoints

解决方案


我是 VS Code、Laravel 和 XDebug 的新手。我个人努力在 VS Code 中设置断点,以便调试我的 Laravel 项目。我发布这篇文章是为了尝试帮助那些努力在 VS Code 中设置断点以调试 Laravel 项目的其他初学者。

Visual Studio Code + Xampp + XDebug 调试:

安装 VS 代码

安装 Xampp

在 VS 代码中:Ctrl+J

确认 PHP 已安装: php -v

通过单击安装在 VS Code 中安装 PHP Debug(使用 XDebug 对 PHP 进行调试支持)扩展

使用 Xampp 获取您的 php.ini 信息


安装 XDebug:

1.1使用XDebug安装向导(https://xdebug.org/wizard.php)生成所需的dll。

1.2 下载生成的dll XDebug文件到:C:\xampp\php\ext

1.3 配置 PHP 使用 XDebug -转到 Xampp 并打开 php.ini 文件 -添加以下内容:

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension = "C:\xampp\php\ext\php_xdebug-2.6.0-7.2-vc15.dll" (change this to your version of dll file)

1.4 更改默认 Xampp 项目目录:

- 在 Xampp 控制面板中转到 Apache 配置并选择 httpd.config

-in httpd.config 转到“Doc​​umentRoot”并从“C:/xampp/htdocs”更改为 PHP 项目所在的本地文件夹。

-in httpd.config 转到“Doc​​umentRoot”的“目录”并从“C:/xampp/htdocs”更改为 PHP 项目所在的同一本地文件夹。

例如: DocumentRoot "C:/xampp/htdocs"

目录“C:/xampp/htdocs”

变成:

DocumentRoot "C:/Users/..."

目录“C:/Users/...”


在 VS Code 中转到文件 --> 首选项 --> 设置

添加以下内容: php.validate.executablePath: "C:\xampp\php\php.exe"

在 VS Code 中调试项目:

-首先删除.vscode中当前的launch.json文件

- 点击 Debug --> Configure or Fix "launch.json" --> 选择 PHP(这将创建一个新的 launch.json 文件)

- 在您的浏览器中,转到 localhost 并打开您的网站(您要调试的项目)

- 在 VS Code 中,在要调试的文件中设置断点(确保它在 PHP 命令部分中)

- 在 VS Code 中点击 Debug --> “Listen for XDebug”

- 在您的浏览器中刷新您的网站

- 在 VS Code 中,你的断点应该命中


推荐阅读