我无法使用我的 PhpStorm 2021.1.4 在 Xdebug 中调试 Laravel 8 应用程序

I failed to debug Laravel 8 app in Xdebug with my PhpStorm 2021.1.4

我尝试使用我的 PhpStorm 2021.1.4 在 Xdebug 中调试我的 Laravel 8 应用程序但失败了 我在本地安装了 Xdebug Ubuntu 20 OS:


$ php -v
PHP 8.1.4 (cli) (built: Apr  4 2022 13:30:17) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.4, Copyright (c), by Zend Technologies
    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans

我在 /etc/php/8.1/apache2/conf.d/20-xdebug.ini 中添加了参数:

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

xdebug.idekey=PHPSTORM
xdebug.default_enable = 1

xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9003

implicit_flush= On

; xdebug.remote_handler="dbgp"

但我不确定该文件中必须包含哪些参数?我在 google 中搜索,不同情况下此信息不同。

运行 控制台中的服务器:

php artisan serve

我 运行 我的 Chrome 浏览器中的应用 URL:

http://127.0.0.1:8000

我已经安装了 Chrome Xdebug 扩展:https://prnt.sc/IBI42sSbKStr 我预计当我刷新此页面时,我的 PhpStorm 将停止流程并打开断点。

在 PhpStorm 中我有设置:https://prnt.sc/WgYSOlEuSjbf 使用调试端口 9003 并在上面的文件中。

和主页分页符:https://prnt.sc/MSZ5KmIOYn17 和:https://prnt.sc/gKIjTXj2LlRb

怎么了?

您只需要 20-xdebug.ini 中的以下内容:

zend_extension=xdebug.so
xdebug.mode=debug

不过我会用 xdebug.mode=develop,debug 代替。

其他设置已经是默认设置(xdebug.client_host=127.0.0.1xdebug.client_port=9003)或 Xdebug 的旧版本 (2)(xdebug.remote*xdebug.default_enable)。

如果安装了浏览器扩展,您仍然需要点击其中的图标,以启用调试。

如果这不起作用,那么您可以尝试调试其中包含 xdebug_info() 的页面(例如,在您的 index.php 文件中)。如果指示连接到您的 IDE.

,这将告诉您启用了哪些模式,以及 Xdebug 尝试做什么

如果那也不能提供足够的信息,你可以设置xdebug.log=/tmp/xdebug.logxdebug.log_level=10,然后停止后,重新启动php artisan server,并在浏览器中重新加载页面应该包含脚本启动期间发生的大量信息,Xdebug 将在其中检查参数等,并尝试连接到您的 IDE.