我已经遵循了多个指南,但似乎没有一个提供正确的解决方案,其中大多数是过时的.Xcovery不起作用.

运行环境:Ubuntu 22.04,PHP 8.1,Laravel 10.

我有正在使用的LALAVELL装置,我用它来开发:

php artisan serve

我已经安装了XDebug PHP扩展:

sudo apt install php-xdebug

配置文件似乎是/etc/php/8.1/mods-available/xdebug.ini.

我已经安装了XDebug VSCode plugin,我已经创建了launch.json与VSCode的默认内容.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9003
    },
  ]
}

我需要对launch.jsonxdebug.ini进行哪些更改才能启用XDebug"单步调试"?

我在xdebug.ini中设置了xdebug.mode = debugxdebug.start_with_request = yes之后,Edit: XDEBUG开始工作.

更改后,我的/etc/php/8.1/mods-available/xdebug.ini条内容是:

zend_extension=xdebug.so
xdebug.mode = debug
xdebug.start_with_request = yes

推荐答案

您需要在VS代码中启动调试器-按F5.然后确保您已经安装了XDEBUG助手浏览器扩展,激活它并重新加载您的Laravel页面.

如果这样做不起作用,请在index.php或其他可以通过浏览器加载的PHP文件的顶部添加一个xdebug_info();,看看是否有任何错误,或者XDEBUG调试器是否被激活.

作为浏览器扩展名的替代选项,您可以在xdebug.ini中添加xdebug.start_with_request=1.

也有可能是你的xdebug.ini分中少了xdebug.mode=debug分.

如果这不起作用,请在此处发布xdebug.ini和xdebug_info()的输出以获得进一步的帮助.

还有其他方法可以让它发挥作用,但需要满足以下条件:

  • VS代码正在侦听XDEBUG端口(通常为9003)
  • PHP已加载Xdebug
  • PHP有xdebug.mode=DEBUG-通过.ini或XDEBUG_MODE环境
  • PHP知道开始调试(浏览器扩展或xdebug.start_with_request=1)
  • PHP可以连接到VS代码(当所有东西都在没有Docker的本地主机上时,通常不是问题)

Php相关问答推荐

如何使用查询范围在Statamic中按组过滤用户?

Laravel 9如何过滤$的项目与结果?

向在添加到购物车上动态创建的WooCommerce产品添加发货类别

Symfony Api平台:按自定义实体方式排序结果

目标类[Set_Locale]不存在.拉威尔

使用PHP编码的字符串与使用OpenSSL编写的shell 代码之间的差异

在PHP 8.2 Gloogle云引擎上加载大型php文件速度缓慢

在WP工具中页面加载时可短暂看到的JavaScript生成的字段

Laravel 10中的Validator类

登录后重定向在WooCommerce中购买产品的用户

表单提交返回空白页

如何在其他数组php中创建具有关联数组的数组

如何使用 PHP 创建简化的 twig 替换?

PHP Laravel 迁移文件不创建关系

将自定义保存金额移至 Woocommerce 简单产品中的价格以下

循环中未序列化数组显示的问题

如何设置Mailersend PHP API 模板变量?

.htaccess环境变量条件不被判断

如果有很多重定向,PHP curl 的行为不像命令行 curl

用于多态服务的 Symfony setter 注入