问题标签 [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 - PhpStorm Xdebug 断点消失?
我正在使用 Xdebug 和 PhpStorm 来调试 PHP 应用程序。
就实际进行调试而言,这一切都完美无缺,但是,PhpStorm 会间歇性地删除我设置的所有断点。
似乎没有导致这种情况的模式或动作,到目前为止它似乎完全是随机的(尽管我知道它可能不是)。
这是发生的事情:
- 我向各种文件添加 10 或 15 个断点。
- 我设置了大量测试数据来找出问题。
- 我开始调试并意识到它并没有在我的任何断点处停止,所以我检查了 PhpStorm 中的断点列表,它们都消失了。所以我必须回到第 1 步,重做所有测试数据并记住设置断点的地方。
IntelliJ / PhpStorm 支持人员表示他们以前从未听说过这种情况,只是告诉我基本上“恢复出厂设置并重试”以查看是否有帮助。
我宁愿把它作为最后的手段,因为我需要很长时间才能让一切恢复到我想要的状态,所以我希望其他人也经历过这种情况,而我不仅仅是疯了?
我使用的是最新版本 2021.3(内部版本 #PS-213.5744.279,构建于 2021 年 12 月 2 日)
我今天做了很多调试,已经发生了 7 或 8 次。有时它不会整天发生。
php - 另一个 XDEBUG - NETBEANS 等待连接 Fedora 35 Netbeans 12.6
在旧的经典 MacPro 上新安装 Fedora 35。问题是配置 Netbeans XDebug 的问题。花了几个小时,想挑选别人的大脑,因为我的大脑是在这个上拍摄的。
主机计算机信息 操作系统:Fedora Linux 35(工作站版) CPE 操作系统名称:cpe:/o:fedoraproject:fedora:35 内核:Linux 5.15.13-200.fc35.x86_64 架构:x86-64 硬件供应商:Apple Inc.硬件型号:MacPro3,1
PHP/Zend OPCache 和 XDebug 显示已安装:
PHP 8.0.14 (cli) (built: Dec 16 2021 03:01:07) (NTS gcc x86_64) 版权所有 (c) The PHP Group Zend Engine v4.0.14, 版权所有 (c) Zend Technologies with Zend OPcache v8.0.14,版权所有 (c),Zend Technologies 和 Xdebug v3.1.2,版权 (c) 2002-2021,Derick Rethans
来自 xdebug_info() php 页面的相关信息是:
启用功能(通过'xdebug.mode'设置)功能启用/禁用文档开发助手✔启用覆盖✘禁用GC统计✘禁用分析器✘禁用步骤调试器✘禁用跟踪✘禁用可选功能压缩文件支持是(gzip)时钟源clock_gettime诊断日志没有消息 PHP Build Configuration Version (Run Time) 8.0.14 Version (Compile Time) 8.0.13 Debug Build no Thread Safety disabled Settings
Php.ini - output_buffering 设置为 OFF。
每次都会询问调试 URL,但我还设置了网站的默认页面。
设置主机名 www.devop。我在 php.ini 文件中尝试了 127.0.0.1、localhost 和 www.devop。这些似乎都没有效果。
当我运行调试时,我的输出 URL 是:
http://www.devop/index.php?XDEBUG_SESSION_START=netbeans-xdebug
PHP.INI 文件的底部我放置了 Netbean XDEBUG 信息窗口中推荐的代码。
Xdebug 似乎正在机器上运行。只是不想在 Netbeans 内部连接到 XDebug。
php - Xdebug 在 Mac 上不起作用(使用 PhpStorm)
我最近不得不切换到 MacOS 进行开发。以前我让 Xdebug 运行良好,我想再次使用它的巨大帮助。
我在这里遵循了 Mac/homebrew 说明:https ://xdebug.org/docs/install#pecl以及我在这里找到的更多信息:https ://xdebug.org/docs/install#configure-php
php -v:
在我的 php.ini 中(我仔细检查了它是否正确)我附加了
zend_extension=xdebug
我在 docker 设置上运行我的网站,并且正在使用 PhpStorm,以下是设置:
我在 Chrome 中安装了 Xdebug 扩展,并确保 PhpStorm 正在监听。但是,当我在主控制器中放置断点并导航到该页面时,页面加载时没有遇到任何断点。
我注意到 phpinfo 转储中显示的 xdebug 版本与我下载并安装的 xdebug 版本不匹配:
php - Xdebug 3 未包含在 phpinfo() 中
我在使用 Big Sur 的 Mac OS 上遇到 Xdebug 问题。下面,我将解释发生了什么。
- 当我运行时
phpinfo()
- 我根本看不到 Xdebug 部分。 - 当我运行诸如
xdebug_call_file()
它之类的命令时会引发PHP Fatal error: Uncaught Error: Call to undefined function
错误。
以下是所有配置:
php -v
:
PhpStorm 显示 Debugger 处于活动状态:
php.ini
(/usr/local/etc/php/8.0/php.ini) 有这些配置:
PhpStorm 没有检测到 Xdebug 来设置解释器:
有谁知道 Xdebug 没有出现可能是什么问题?
php - 让 Xdebug 3 与 VSCode 一起工作的问题
我有一个基于 Ubuntu 20.10 (Groovy Gorilla)的Vagrant 设置,用于处理定制的 PHP项目,我用它作为开发 PHP 项目的基础。我意识到那个版本的 Ubuntu 不支持了,所以我更新到 hirsute (21.04)(因为它仍然有 PHP 7.4)我有一个工作的 Xdebug 配置工作,但显然升级时坏了。
我跑去sudo ufw allow 9000
尝试打开防火墙,但显然这根本没有任何效果。
为了让调试器正确附加,我缺少什么?
xdebug.ini 用于 2.x 版(有效):
版本 3 的 xdebug.ini:
启动.json:
xdebug.log
xdebug_info()
php - 如何截断堆栈跟踪中的长参数?
我试图在内存耗尽时控制 Xdebug 的输出。我发现如果将一个很长的字符串传递给一个函数(然后内存随后耗尽),Xdebug 会将整个参数转储到堆栈跟踪中而不会截断。
获取包含长字符串参数的堆栈跟踪的一些示例代码:
来自未捕获异常的 PHP 的正常堆栈跟踪如下所示:
60 字节的$data
参数被整齐地截断为 15 个字符加上一个省略号。
但是要在内存耗尽后获得堆栈跟踪,我需要启用 Xdebug。启用 Xdebug 3 后,我不会截断长参数;我明白了:
要获得此输出,您必须设置xdebug.show_exception_trace = On
. 很容易看到真正的内存耗尽,但这对于发布可重现的代码很方便。跟踪格式与不可处理的错误相同。
我不是在问如何处理异常,或者打印我自己的自定义堆栈跟踪。我在询问 Xdebug 在无法进行错误处理的情况下的默认输出。
我弄乱了许多 Xdebug 设置,似乎无法控制它的显示方式。
php - M1 - PHP 警告:加载 Zend 扩展 'xdebug' 失败
我想在我的本地环境中安装 Xdebug,我遵循了 Xdebug 向导,但是通过命令安装后,php -v
我收到了来自上面的警告。
我试过安装arch -x86_64 sudo pecl install xdebug
,不工作。
which php
->/Applications/XAMPP/xamppfiles/bin/php
php -v
->
php.ini
任何想法?
php - Mac M1 Silicon 上的 Apache 不会加载 xdebug.so -“代码签名在进程中使用无效”
我正在设置一个新的 macbook(Monterey 12.2.1 芯片 Apple M1 Pro),并安装了 PHP 7.4 和 homebrew。我将 PHP 配置为作为 MacOS (Apache/2.4.51) 附带的 Apache2 服务器的模块运行。我立即遇到了麻烦,因为在我对它进行代码签名之前,看门人不允许我将 php 作为 apache 模块从 homebrew 运行。我确实对它进行了代码设计:
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
当我从命令行检查它时,一切看起来都正确:
但从浏览器加载失败 - 浏览器列出了 99-xdebug.ini 文件:
但没有关于 xdebug 的其他内容。我检查了 apache 错误日志并看到:
我也尝试签署 xdebug.so 文件:
并重新启动了 apache,但在 apache 日志中仍然出现相同的错误。我也试过重新签名 PHP,没有帮助。我也尝试过禁用网守:
那也没什么区别。
我整个早上都在谷歌上搜索,找不到任何关于如何解决这个问题的信息。现在一定有人已经看到了,所以我希望你们中的一个人是那个人,可以帮助兄弟。提前感谢您提供的任何帮助。