Xdebug 3 不包含在 phpinfo() 中

Xdebug 3 not included in phpinfo()

我在 Mac OS 使用 Big Sur 时遇到 Xdebug 问题。下面,我将解释发生了什么。

  1. 当我 运行 phpinfo() - 我根本看不到 Xdebug 部分。
  2. 当我 运行 命令时,例如 xdebug_call_file() 它会抛出 PHP Fatal error: Uncaught Error: Call to undefined function 错误。

所有配置如下:

php -v:

PhpStorm 显示调试器处于活动状态:

php.ini (/usr/local/etc/php/8.0/php.ini) 有这些配置:

[xdebug]
zend_extension="xdebug.so"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="9003"

PhpStorm 未检测到 Xdebug 以设置解释器:

有谁知道 Xdebug 不显示可能是什么问题?

develop: Enables Development Helpers including the overloaded var_dump(). https://xdebug.org/docs/all_settings#mode

xdebug.mode=debug,develop

develop 不是 xdebug.mode 设置的一部分时,您将得到的错误是:

Warning: Function must be enabled in php.ini by setting 'xdebug.mode' to 'develop'

当您收到“调用未定义函数”错误时,这意味着您的 Web 服务器环境中未加载 Xdebug。经常是web服务器环境有不同的INI文件。

为了查看是否加载了 Xdebug,以及 PHP 读取了哪些 INI 文件,您可以在 PHP 脚本中使用 phpinfo() 请求通过一个浏览器。这还将显示 Xdebug 是否已加载。如果是,您可以使用 xdebug_info() 检查其设置。

PhpStorm 的“解释器检查”也只检查命令行,而不检查 PHP 的 Web 服务器版本。