标签: xdebug

VSCode + PHP + xdebug + launch.json

我有一个 Laravel 项目,并且我有 Xdebug 在 VSCode 中工作。

但不幸的是我分两步进行。我想把它合二为一。

我现在在做什么,我写道:

  1. 在命令中:

    php -S localhost:1000 -t public
    
    Run Code Online (Sandbox Code Playgroud)
  2. 有一个 VSCode > debug > launch.json

    {
        "name": "Listen for XDebug",
        "type": "php",
        "request": "launch",
        "port": 9000
    },
    
    Run Code Online (Sandbox Code Playgroud)

我怎样才能将其合并为一项任务?

我尝试将 1. 部分创建为任务,但没有成功。

任务.json:

{
    "taskName": "PhpServe",
    "type": "shell",
    "command": "php -S localhost:1000 -t public"
}
Run Code Online (Sandbox Code Playgroud)

启动.json

{
    "name": "Listen for XDebug",
    "type": "php",
    "request": "launch",
    "preLaunchTask": "phpServe",
    "port": 9000
},
Run Code Online (Sandbox Code Playgroud)

PHP 服务器启动并运行,直到我关闭它。关闭它后,Xdebug 启动。不是我想要的。

如何同时启动 PHP 服务器和 xdebug?

php xdebug launch visual-studio-code

5
推荐指数
0
解决办法
1388
查看次数

Symfony 3:使用 Symfony 的开发服务器进行调试

在 Symfony 3.3 项目的开发过程中,我使用 Symfony 的内部服务器,如此处所示,我不知道如何使用 xdebug 来调试它。我的意思是我已经通过以下方式安装并配置了 xdebug:

apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)

我导出:

export XDEBUG_CONFIG="idekey=phpstorm" 
Run Code Online (Sandbox Code Playgroud)

但是当我在 IDE 中设置断点并通过插件启用 xdebug 时,我仍然没有得到任何响应。

我还进行了以下设置/etc/php/7.0/mods-available/xdebug.ini

apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)

我已经将两个 PhpStorm 配置为通过端口 9021 进行侦听。但是我仍然遇到无法使 PhpStorm 通过断点进行侦听的问题。

你们知道如何在我的 ubuntu-16.04 机器上解决这个问题吗?

此外,我研究过这些问题但没有成功:

编辑1

我还尝试导出以下内容:

export XDEBUG_CONFIG="idekey=PHPSTORM"
Run Code Online (Sandbox Code Playgroud)

配置Firefox 插件但仍然得到完全相同的行为。另请记住,我通过按phpstop xdebug 按钮按钮。

编辑2

我还在我的 PhpStorm 上添加了以下配置:

PHP配置

还是不行。

php xdebug symfony ubuntu-16.04 symfony-3.3

5
推荐指数
1
解决办法
2143
查看次数

PHPMYADMIN 异常:指定的上下文(“\SqlParser\Contexts\ContextMySql50724”)不存在

我使用的是 Ubuntu 18.04,Zend Framework 3,并将 Xdebugger 与 Visual Studio 集成。现在,当我在 Visual Studio 中启动调试器并在浏览器中的本地主机上重新加载 phpmyadmin 网页时localhost/phpmyadmin,它会显示此错误

在此输入图像描述

尽管我没有设置任何断点,但每次它仍然停在上面屏幕截图所示的位置。

Xdebug.ini

xdebug.show_error_trace = 0
xdebug.show_exception_trace = 0
zend_extension=/usr/lib/php/20170718/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

php zend-framework xdebug phpmyadmin visual-studio-code

5
推荐指数
1
解决办法
3039
查看次数

为什么对象的所有属性没有显示在调试器的变量部分中

我在某些 PHP 代码上使用 XDebug 和 Visual Studio Code 调试器,并且变量部分没有显示我的对象之一的所有属性。下面的屏幕截图显示,如果我添加$this->_data到“监视”部分,该属性确实存在。但是,在“变量”部分中_data并未显示为属性。$this为什么 Visual Studio Code 不显示 中的所有属性$this,以及如何让它显示所有属性?

在此输入图像描述

php xdebug visual-studio-code vscode-debugger

5
推荐指数
2
解决办法
1439
查看次数

在 Apple Silicon M1 下安装/重建 Xdebug 时出现问题

无法在 Big Sur 下的新 Apple Silicon M1 下安装 XDebug - 使用pecl install xdebug并运行后php --ini,出现以下错误:

PHP Warning:  Failed loading Zend extension 'xdebug.so' (tried: /opt/homebrew/lib/php/pecl/20190902/xdebug.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/xdebug.so, 9): no suitable image found.  Did find:
        /opt/homebrew/lib/php/pecl/20190902/xdebug.so: mach-o, but wrong architecture
        /opt/homebrew/lib/php/pecl/20190902/xdebug.so: stat() failed with errno=22), /opt/homebrew/lib/php/pecl/20190902/xdebug.so.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/xdebug.so.so, 9): image not found)) in Unknown on line 0

Warning: Failed loading Zend extension 'xdebug.so' (tried: /opt/homebrew/lib/php/pecl/20190902/xdebug.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/xdebug.so, 9): no suitable image found.  Did find:
        /opt/homebrew/lib/php/pecl/20190902/xdebug.so: mach-o, but wrong architecture
        /opt/homebrew/lib/php/pecl/20190902/xdebug.so: stat() failed …
Run Code Online (Sandbox Code Playgroud)

xdebug apple-silicon

5
推荐指数
3
解决办法
5735
查看次数

在 Docker 中安装 pecl 时出现“没有可用版本”错误

我正在尝试从 pecl 在 Docker 容器中安装 Xdebug 或 Redis 包。安装失败并返回错误:

包“pecl.php.net/xdebug”没有可用的版本。

Xdebug 示例:https://pecl.php.net/package/xdebug/3.1.0

我的 docker-compose.yaml

version: '3'

networks:
  app-network:

services:
  site:
    build:
      context: .
      dockerfile: nginx.dockerfile
    container_name: my_nginx
    ports:
      - "8082:80"
      - "443:443"
    volumes:
      - ./src:/var/www/html
    depends_on:
      - php
      - db
      - redis
    networks:
      - app-network

  db:
    image: percona
    container_name: my_db
    restart: on-failure
    tty: true
    ports:
      - "3314:3306"
    volumes:
      - ./percona:/var/lib/percona
    environment:
      MYSQL_DATABASE: mydb
      MYSQL_USER: me
      MYSQL_PASSWORD: 123
      MYSQL_ROOT_PASSWORD: 456
      SERVICE_TAGS: dev
      SERVICE_NAME: db
    networks:
      - app-network

  php:
    build:
      context: …
Run Code Online (Sandbox Code Playgroud)

php xdebug pecl docker

5
推荐指数
2
解决办法
1万
查看次数

Xdebug 无法跨过或进入 - 使用 VSCode 和 Windows

希望以下内容足以让您继续下去。

我的设置

我在用着:

  • Windows 10(现在版本 19043.1288),
  • VSCode (v1.61.2) 与
  • PHP 调试(v1.21.1),
  • Firefox 和 Google Chrome 浏览器,
  • XAMPP(v3.3.0)
  • Xdebug(现在 v3.1.1-7.4x86_64)
  • 我还在后台运行 Ubiquiti 网络控制器和 BitDefender AV。

PHP.ini

[Xdebug]
zend_extension = xdebug
;zend_extension = "c:\xampp\php\ext\php_xdebug-3.1.1-7.4-vc15-x86_64.dll"

xdebug.remote_enable=1
xdebug.remote_autostart=1

xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9000
xdebug.log = "c:\xampp\htdocs\j4\tmp\xdebug.log"
Run Code Online (Sandbox Code Playgroud)

问题

我已经使用 VSCode/XAMPP/Xdebug 与 Joomla 3 一起工作了一年多,没有出现任何问题。我离开了几周,当我回来时,我无法单步进入任何 Joomla 3 模块/类。VSCode 会在断点处停止,但单步执行和单步执行都会立即转到父调用函数。

啊,我对自己说,可能 Windows 做了一些事情 - 可能是升级到 J4 以及更新我的环境的好时机。同样的问题。在第一个断点处停止,不会单步执行或单步执行 - 它不会在后续断点处停止。似乎是核心 J4 模块中的单步。堆栈显示正常 - 可以检查初始化的变量。

我尝试过的

一切!为了保持相关性 - 我现在安装了一个全新的、开箱即用的、纯正的 XAMPP、Joomla4 和 Xdebug(按照 Xdebug 向导的建议)。我还暂时禁用了我的 AV …

php joomla xdebug vscode-debugger xdebug-3

5
推荐指数
0
解决办法
586
查看次数

如何修复“要修复它,请通过环境变量 PHP_IDE_CONFIG 设置服务器名称并重新启动调试会话。”?

当连接来自 docker 容器时,PhpStorm xdebug 找不到文件

以此一试。当将 PHP_IDE_CONFIG 添加到我的 docker 时,xdebug 甚至没有停止。在添加该 env 变量之前,xdebug 至少会停止,但我无法单步执行,它只是显示一个错误:

本地找不到文件'/var/www/pmp-api/bin/console'。要修复它,请通过环境变量设置服务器名称PHP_IDE_CONFIG并重新启动调试会话。

我有 在此输入图像描述

#- PHP_IDE_CONFIG="serverName=pmpapi.local"
      - XDEBUG_CONFIG=idekey=PHPSTORM
Run Code Online (Sandbox Code Playgroud)

后来我评论PHP_IDE_CONFIG补充了XDEBUG_CONFIG。PHPSTORM 在 PhpStorm 中设置为 idekey。

也在 Nginx config server_name _ 中尝试过;

另外:xdebug.extended_info = 1

为什么这仍然无法正常工作?

更新

当没有 PHP_IDE_CONFIG 变量时:

[17] Log opened at 2021-11-16 18:51:45
[17] I: Checking remote connect back address.
[17] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[17] I: Checking header 'REMOTE_ADDR'.
[17] W: Remote address not found, connecting to configured address/port: …
Run Code Online (Sandbox Code Playgroud)

xdebug phpstorm docker

5
推荐指数
1
解决办法
9269
查看次数

调试CakePHP应用程序时完全忽略断点

我正在NetBeans中开发一个CakePHP应用程序,最终设法将它连接到XAMPP调试会话(PHP 5.3.1 w/Xdebug v2.0.6-dev).

它在启动时非常有效,它会在第一行暂停应用程序.

但是我设置的任何进一步断点都被完全忽略了.它不会破裂也不会停顿; 它只是运行完成.

xdebug.extended_info设置为1,我尝试使用赤脚php项目,没有任何框架魔法,并且breakepoints按预期工作.

什么情况?我希望能够在(Cake)PHP中使用断点.

php cakephp xdebug zend-debugger

4
推荐指数
1
解决办法
1705
查看次数

我可以在变化的值上设置断点吗?

我想仅在变量中的值更改为特定值时才暂停执行.我正在使用PHPStorm和Xdebug.谁能告诉我怎么做?

php xdebug phpstorm

4
推荐指数
1
解决办法
1999
查看次数