问题标签 [xdebug-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Docker 无法分配请求的地址
我认为我非常接近(我希望)让 xdebug 在 docker 容器中运行,旨在通过 Visual Studio Code 进行连接。
我认为也许我应该/etc/hosts
在容器中的文件中添加一个配置,将 IP 地址指向我的文件正在提供的 url,但我不确定该 IP 地址应该对应于什么。
错误:
通过xdebug_info()
(和/tmp/xdebug.log
):
通过telnet localhost 9003
:
xdebug.ini
文件:
launch.json
: _
Dockerfile
: _
最后docker-compose.yml
:
演出结果xdebug_info()
:
我打赌我需要添加一个配置,但不确定是什么。
更新
从本教程中,我看到xdebug.discover_client_host=true
“告诉 Xdebug 尝试从 HTTP 请求中提取客户端的 IP”,client_host
如果失败则回退。(它检查变量以找出要使用的 IP 地址。)这是替换 xDebug 2 的$_SERVER['HTTP_X_FORWARDED_FOR']
配置。xDebug 的大多数重要配置都在和之间发生了变化。$_SERVER['REMOTE_ADDR']
remote_connect_back
v2
v3
但是,仍然出现相同的连接错误:
在日志中:
我尝试添加一个指向(在 Docker 容器中)的/etc/hosts
条目,但还没有弄清楚如何刷新容器中的 DNS 记录。也许我需要在容器中添加额外的主机映射?192.168.16.1
myproject.test
看到一篇建议Lando的帖子,它似乎包裹了 Docker,可以缓解一些这种痛苦,但我还没有准备好放弃这个,所以如果你读到这里,非常感谢你。
解决方案(感激地)在下面接受。
我还需要更改 VS Codelaunch.json
文件:
因为我的仓库中没有 WP 代码库,只有一个特定的插件。使用"stopOnEntry": true
时,xDebug 插件在 中寻找(不存在的)index.php
文件(起点)"${workspaceRoot}
,而不是仅检查断点,这是我需要的,我的本地代码库只是整个应用程序的一部分。
另外,我认为# comments
接受的答案中的 使文件无效,.ini
因此如果您的设置似乎没有出现,请注意这一点。
php - 在 Xdebug 中调试时 __DIR__ 未正确解析
我看到DIR和 Xdebug问题的奇怪问题已得到解决,但仍然感到困惑。
使用 phpv7.3
和 Xdebugv3.0.4
时,我遇到了一个插件问题,该插件似乎没有在我的 Docker 开发容器中找到一些 Composer 管理的依赖项,我希望使用 Xdebug 来跟踪问题。
然而:
file_exists( __DIR__ . '/autoload-classmap.php')
评估为假- 因为
__DIR__ == "xdebug:"
- 当然
false == is_dir(__DIR__)
。
在 Xdebug functions docs中,它建议忽略特定目录:
但__DIR__
不是目录(评估为xdebug:
)。这个过滤器应该在代码库中的哪个位置。它在哪里__DIR__
仍然是一个目录?
它会以某种方式添加到IDE中的配置中吗?我正在使用 VS 代码。
php - Xdebug 3 不会在断点处停止
我设置了 Xdebug 扩展并安装了它,我可以看到它,phpinfo()
但它不会在断点处停止,也不会将任何内容写入xdebug.log
文件。
这是php.ini
内容:
这是launch.json
来自 VSCode:
xdebug - 在 /usr/local/bin/autom4te 第 262 行调用的未定义子例程 &main::open_quote
嗨,我尝试在 macox(Big Sur 11.5.2)上通过 pecl 安装 xdebug 但我收到错误消息
我更新了 perl,但它确实帮助了我(如果 open_quote 是 perl 的一部分,我无法理解)而且我在互联网上没有找到任何与 open_quote 函数问题相关的信息
我尝试从源代码安装 xdebug 并在 ./phpize 步骤中得到相同的错误
解决:
只需重新安装我运行的autoconf automake libtool
brew reinstall autoconf automake libtool
之后我运行brew link --force autoconf
它就解决了问题
phpstorm - PhpStorm,Xdebug 3,PHP 8.0.11,xdebug 在变量处失败?
我最近尝试从 PHP 7 切换到 PHP 8,但我遇到了 Xdebug 行为异常的问题。
基本上步进音序器似乎很好。变量视图确实显示$_COOKIE
和$_SERVER
变量,但每当我分配一个变量时,例如$i = 0;
步骤调试似乎以某种方式失败或断开连接。几秒钟后,浏览器尝试重新加载脚本并再次点击步进音序器。
有些步骤似乎有效。例如:
......结果“它有效吗?” 输出,但是如果我die();
在设置之后移动$i
,脚本似乎会以某种方式失败并重新启动。浏览器显示“无法访问此站点”。
我无法对任何日志等产生任何错误。知道是什么原因造成的吗?PHP 7 和旧版本的 Xdebug 上没有此类问题。
编辑:添加了 xdebug.txt 副本(单轮加载,如果页面刷新命中则开始循环)和 php.ini xdebug-section。请看这里: https ://controlc.com/b215b1f1
php - 我想在 PhpStorm 中使用 Xdebug 分析
环境
- Windows 10 家庭版
- 当地的
- PHP 7.4
- PhpStorm 2021.2
- Xdebug 3
问题
我想在我自己的应用程序中使用 Xdebug 进行分析。
我做了以下设置。
- php.ini:
我将 Xdebug helper 设置更改为 profiler
按调试按钮(在 PhpStorm 中)
结果
未创建 cachegrind 文件。
如何创建缓存研磨文件?
javascript - 让 Xdebug 忽略多个请求
我的应用程序中有几个地方每 60 秒调用一次 API 端点。
当我尝试使用 Xdebug 调试与该端点关联的控制器时,我通常需要一分钟以上的时间来思考/跳过等等,所以我最终得到了另一个 Xdebug 在同一个断点处拦截的请求(我突出显示两行,实际上当我再次跨步时,它将从新请求开始)。
有没有办法告诉 Xdebug 暂时忽略未来被 Xdebug 拦截的请求?当然,我可以评论我执行 setTimeout 以再次调用同一端点的 JS 部分,但我想知道是否存在不意味着修改我的代码的替代方法。
提前致谢。
php - 在 VSCode 中检查 PHP 关联数组时,某些键不显示。为什么?
我对 PHP 和 VSCode 都很陌生,并且在检查数组变量的值时对 VSCode 的行为感到惊讶。具体来说,在调试 WordPress 代码时,我看到分配给$GLOBALS['_wp_switched_stack']
. 如果我将光标悬停$GLOBALS
在代码中的变量上,我会看到它的键,但_wp_switched_stack
没有显示。如果我进入$GLOBALS
调试控制台_wp_switched_stack
不显示。如果我进入$GLOBALS['_wp_switched_stack']
调试控制台,我会看到这些值。
我认为这可能是因为键以下划线开头,但是有一个键显示以两个下划线开头。什么解释了这种行为?
eclipse - PHP 8 脚本在带有 Eclipse 2020-06 的 Chrome 上运行
正如我所说,我正在使用 Chrome 94、Eclipse 2020-06、Xdebug 3.0.4 和 PHP 8 进行开发。当我在 Chrome 上运行 PHP 脚本时,Eclipse 会在其内部浏览器上启动调试器,所以每当我想检查脚本时,我必须关闭 Eclipse,然后再次重新启动以进行进一步调试。我能做些什么来阻止这种情况?谢谢!