我已经在 Ubuntu 20.04 系统上安装了 Xdebug。我关注了this documentation ,我发现写得很好,并且按照规范安装了所有内容。 (我使用 apt 而不是 yum,并将 .so 文件放入 /usr/lib/php/20190902
文件夹而不是文档的示例中。)
在该文档中,有一个关于添加到 php.ini 文件的引用(我添加到 /etc/php/7.4/apache2/php.ini
和 /etc/php/7.4/cli/php.ini
文件)。由于本文没有具体提及 .ini 文件的“部分”,因此我将它们放在 [PHP]
部分中。 (这与关于放在“快速引用”位之前的注释一致。)我重新启动了 Apache2,phpinfo()
输出现在包含 Xdebug,而它以前不包含它。一切都很好。
我遇到的麻烦是,虽然我在 php.ini 文件中设置了 xdebug.mode = debug
,但 phpinfo()
输出告诉我 xdebug.mode
设置为 develop
。因此,单步调试器在我的配置中显示为已禁用。我不明白为什么。
这些是我添加到每个 php.ini 文件中的行:
zend_extension="/usr/lib/php/20190902/xdebug.so
xdebug.mode = debug
xdebug.discover_client_host = 1
xdebug.start_with_request = yes
以下是 phpinfo()
输出的关键摘录:
一时兴起,我尝试将所有这些设置也放在 php.ini 的一个新部分中,我将其命名为 [xdebug]
。当这不起作用时,我尝试了[Xdebug]
。每次尝试后我都重新启动 Apache2,但症状从未改变。
我可能缺少什么?
最佳答案
zend_extension="/usr/lib/php/20190902/xdebug.so
(有一个额外的 "
)。
无论如何,很可能在某处存在另一个 xdebug.mode
行,或者正在使用不同的 INI 文件。尝试查看 xdebug_info() 的输出告诉您什么 - 它还提到了哪些 INI 文件已被读取。
关于php - Xdebug xdebug.mode = 调试对我不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71564544/