在 CLI 中使用 Xdebug 3 时,它会在没有设置断点时不断报告消息:
"Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port) :-("
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用在 CLI 中显示的消息表单?
xdebug ang php 的此消息的解决方法是什么?
Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port) :-(
Run Code Online (Sandbox Code Playgroud)
当我composer update在WSL2安装时运行时显示此消息UBUNTU 20.01。
我当前的 php 版本是 php8和xdebug3
更新:
这是 x-debug 部分
xdebug
__ __ _ _
\ \ / / | | | |
\ V / __| | ___| |__ _ _ __ _
> < / _` |/ _ \ '_ \| | | |/ _` |
/ . \ (_| …Run Code Online (Sandbox Code Playgroud) 我曾经对 Xdebug 2 有以下配置:
xdebug.default_enable=1
当没有调试客户端正在侦听时,Xdebug 不会减慢执行速度,但是当我需要调试某些内容时,我只需在 PhpStorm 中启用侦听并刷新页面即可。为此不需要浏览器扩展。这同样适用于调试 CLI 应用程序,它确实有效。
我尝试使用 Xdebug 3 实现相同的效果,配置如下:
xdebug.mode=debug
xdebug.start_start_with_request=yes
Run Code Online (Sandbox Code Playgroud)
它的工作原理相同,但每次当我在 PhpStorm 中禁用调试侦听并运行 CLI 命令时,我都会收到以下错误严重程度的消息:
Xdebug: [Step Debug] Could not connect to debugging client. Tried: 172.17.0.1:9003 (through xdebug.client_host/xdebug.client_port) :-(
Run Code Online (Sandbox Code Playgroud)
这是我可以忍受的,但它也会使 PHPUnit 测试失败beStrictAboutOutputDuringTests="true"。
如果我使用过,升级指南建议使用,但这不是有效的替代品。xdebug.module=developxdebug.default_enable=1
完全沉默所有 Xdebug 日志,甚至禁用此评论建议的 PHP 中的错误报告对我来说似乎是一种肮脏的黑客行为,可能存在缺陷,而不是有效的解决方案。
如果没有此消息,我如何才能保持预期的行为?
我正在尝试Xdebug 3在 PHP 容器中进行配置 ,并 根据文档 https://xdebug.org/docs/all_settings#mode设置 XDEBUG_MODEenv 变量,但 显示. 怎么修?offxdebug_info()mode=develop
Dockerfile:
FROM php:7.4.11-fpm
…
ENV XDEBUG_MODE=off
ENV XDEBUG_CONFIG=""
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug \
...
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml:
services:
php:
build:
dockerfile: ${PWD}/.devcontainer/Dockerfile
image: php-fpm
environment:
XDEBUG_MODE: ${XDEBUG_MODE} // off
XDEBUG_CONFIG: ${XDEBUG_CONFIG}
Run Code Online (Sandbox Code Playgroud)
xdebug信息:
php -r 'xdebug_info();'
Version => 3.0.0
Support Xdebug on Patreon, GitHub, or as a business: https://xdebug.org/support
Feature => Enabled/Disabled
Development Aids => ? disabled
Coverage => ? disabled …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 VSCode 在我的 XAMPP 上进行调试,但没有成功。我知道有很多关于这个的问题,我已经尽我所能,但仍然无法奏效。
关于我的 xdebug 扩展,你真的有一件很奇怪的事情。我目前使用的是 PHP v7.4.12 和 Xdebug 版本 3。
我知道我的 Xdebug 可以在 PHP 上运行,因为我查看了phpinfo()它并显示了我如何设置它。怪异的一部分是许多教程那里通常之中zend_extension = path..,xdebug.remote_enable = 1并且xdebug.remote_autostart = 1应该足够,但是当我的phpinfo它看作是如下所示:
我试图用设置xdebug.remote_port = 9000和xdebug.remote_host = "localhost",但仍然无法工作。我什至读过有关将 localhost 更改为的内容,127.0.0.1但仍然无效。
任何帮助,将不胜感激。这是我的 launch.json 文件和 php ini 文件。
配置文件
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_log = "C:\xampp\tmp\xdebug\xdebug.log"
xdebug.remote_port = 9000
xdebug.remote_host = "127.0.0.1"
xdebug.idekey=VSCODE
Run Code Online (Sandbox Code Playgroud)
启动文件
{
// Use IntelliSense to learn about …Run Code Online (Sandbox Code Playgroud) 我的 phpunit 容器有这个 dockerfile:
FROM php:8.1-fpm-alpine
WORKDIR /var/www/html
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ --allow-untrusted gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
ENV PHP_MEMORY_LIMIT=1G
ENV PHP_UPLOAD_MAX_FILESIZE: 512M
ENV PHP_POST_MAX_SIZE: 512M
RUN docker-php-ext-install pdo
RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev
RUN apk update \
&& apk upgrade \
&& apk add --no-cache \
freetype \
libpng \
libjpeg-turbo \
freetype-dev \
libpng-dev \
jpeg-dev \
libwebp-dev \
libjpeg \
libjpeg-turbo-dev
RUN docker-php-ext-configure gd \
--with-freetype=/usr/lib/ \ …Run Code Online (Sandbox Code Playgroud) 将 Xdebug 版本3与 PhpStorm 版本2020.2.4一起使用时出现此错误:
Connection was not established.
Cannot start debugger session with 'Xdebug 3.0.0' Validate installation
Run Code Online (Sandbox Code Playgroud)
php.ini 配置:
Connection was not established.
Cannot start debugger session with 'Xdebug 3.0.0' Validate installation
Run Code Online (Sandbox Code Playgroud) 希望以下内容足以让您继续下去。
我的设置
我在用着:
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 …
我有几个 docker 容器:php、nginx、mariadb、redis、adminer,并尝试使用 PhpStorm 和 Xdebug 调试一些 PHP 代码。
主机(联想T490笔记本电脑):
$ hostname
T490
$ docker -v
Docker version 20.10.5, build 55c4c88
$ docker-compose -v
docker-compose version 1.24.1, build 4667896b
$ cat /etc/lsb-release
DISTRIB_ID=neon
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="KDE neon User Edition 5.21"
$ php -v
PHP 7.4.16 (cli) (built: Mar 5 2021 07:54:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.16, Copyright (c), by Zend Technologies
$ lsof -i :9003 …Run Code Online (Sandbox Code Playgroud) 我正在设置一台新的 MacBook(Monterey 12.2.1 芯片 Apple M1 Pro),并使用自制程序安装了 PHP 7.4。我将 PHP 配置为作为 MacOS (Apache/2.4.51) 附带的 Apache2 服务器的模块运行。我立即遇到了麻烦,因为在我对其进行代码签名之前,Gatekeeper 不允许我将 php 作为自制程序中的 apache 模块运行。我对它进行了协同设计:
codesign --sign "Mike Andersen" --force --keychain ~/Library/Keychains/login.keychain-db /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so
之后 PHP 就完美运行了。然后我用 PECL 安装了 xdebug: arch -x86_64 sudo pecl install xdebug
当我从命令行检查它时,一切看起来都正确:
php -v
PHP 7.4.28 (cli) (built: Feb 28 2022 07:33:39) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.28, Copyright (c), by Zend Technologies
with Xdebug v3.1.3, Copyright …Run Code Online (Sandbox Code Playgroud) 我需要有关调试 Xdebug 3 配置的工作步骤的帮助。我在 Ubuntu 服务器 20.04 上使用 nginx 运行 Xdebug 3.0.1,安装在 Oracle VirtualBox 上。我的 IDE 是 PhpStorm。
一切正常(SSH 隧道、SFTP、端口转发),连接已建立,但未开始分步调试。
我当前的 Xdebug 3 配置:
zend_extension=xdebug.so
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
XDEBUG_SESSION=PHPSTORM
xdebug.start_with_request=yes
Run Code Online (Sandbox Code Playgroud)
任何人都在工作步骤调试配置中配置了 Xdebug 3 并且可以帮助我?
从浏览器捕获的 phpinfo() Xdebug 部分 - 非常长
xdebug 版本 3.0.1
Feature Enabled/Disabled Docs
Development Aids ? disabled
Coverage ? disabled
GC Stats ? disabled
Profiler ? disabled
Step Debugger ? enabled
Tracing ? disabled
Debugger enabled
IDE Key no value
Directive …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 PhpStorm (v2022.3.2) 使用 Xdebug (v3) 从 Docker 容器内部调试 PHPUnit 测试方法。
Xdebug 已正确设置,PhpStorm 中的服务器也是如此。
事实上,如果我从命令行运行测试,Xdebug 将在断点处停止:
XDEBUG_SESSION=1 PHP_IDE_CONFIG="serverName=myapp.localhost" vendor/bin/phpunit --testdox --filter testProfileUpdate
Run Code Online (Sandbox Code Playgroud)
如果我单击测试方法左侧的“bug”图标来调试测试,则会收到以下错误:
未建立连接。可能“xdebug.remote_host=host.docker.internal”不正确。更改“xdebug.remote_host”。
查看PhpStorm 执行的调试测试方法的命令,我看到的是:
[docker://myapp:latest/]:php -dxdebug.mode=debug -dxdebug.client_port=9000 -dxdebug.client_host=host.docker.internal /opt/project/vendor/phpunit/phpunit/phpunit --configuration /opt/project/phpunit.xml --filter "/(ProfileTest::testProfileUpdate)( .*)?$/" --test-suffix ProfileTest.php /opt/project/tests --teamcity
Run Code Online (Sandbox Code Playgroud)
我还尝试配置另外两个标志:
-dxdebug.idekey="serverName=myapp.localhost"-dxdebug.session=1结果命令是这样的:
[docker://myapp:latest/]:php -dxdebug.mode=debug -dxdebug.client_port=9000 -dxdebug.client_host=host.docker.internal -dxdebug.idekey="serverName=myapp.localhost" -dxdebug.session=1 /opt/project/vendor/phpunit/phpunit/phpunit --configuration /opt/project/phpunit.xml --filter "/(ProfileTest::testProfileUpdate)( .*)?$/" --test-suffix ProfileTest.php /opt/project/tests --teamcity
Run Code Online (Sandbox Code Playgroud)
同样使用此配置,Xdebug 不会启动并且断点将被忽略(并且会弹出错误消息)。
我尝试禁用 PhpStorm 自动传递的参数,转到“设置”>“PHP”>“调试”。
然后,在“高级设置”部分中,我取消标记了“通过命令行传递所需的配置选项”选项。
现在,生成的命令是这样的:
[docker://myapp:latest/]:php /opt/project/vendor/phpunit/phpunit/phpunit --configuration /opt/project/phpunit.xml --filter …Run Code Online (Sandbox Code Playgroud) 在使用 PHP 8.0.2 的 Windows 10 中,尝试加载 3 个不同版本的 xdebug 均失败,Failed loading Zend extension 'php_xdebug-...尝试的版本如下:
php_xdebug-2.9.8-7.3-vc15-x86_64.dll
php_xdebug-3.0.3-8.0-vs16-x86_64.dll
php_xdebug-3.1.1-8.0-vs16-x86_64.dll
Run Code Online (Sandbox Code Playgroud)
文件名是否被引用都没有区别,包含路径也没有区别C:\\...区别C:/...
我缺少什么?
apache error.log 中的示例错误消息:
PHP Warning: Failed loading Zend extension 'php_xdebug-2.9.8-7.3-vc15-x86_64.dll' (tried: C:\\php\\ext\\php_xdebug-2.9.8-7.3-vc15-x86_64.dll (The specified module could not be found), C:\\php\\ext\\php_php_xdebug-2.9.8-7.3-vc15-x86_64.dll.dll (The specified module could not be found)) in Unknown on line 0
php.ini/xdebug:
[xdebug]
zend_extension="php_xdebug-2.9.8-7.3-vc15-x86_64.dll"
xdebug.mode=debug
xdebug.client_host=localhost
xdebug.client_port=9003
xdebug.idekey="netbeans-xdebug"
Run Code Online (Sandbox Code Playgroud)
阿帕奇是Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.2
Windows 是Windows NT GWB-10 10.0 build 19042 (Windows 10) AMD64 …