我在 Mac OS 上使用 Big Sur 时遇到 Xdebug 问题。下面我就来解释一下这是怎么回事。
- 当我运行
phpinfo()
时 - 我根本看不到 Xdebug 部分。 - 当我运行
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
不是 xdebug.mode
设置的一部分时,您将收到的错误是:
Warning: Function must be enabled in php.ini by setting 'xdebug.mode' to 'develop'
当您收到“调用未定义函数”错误时,这意味着 Xdebug 未加载到您的 Web 服务器环境中。 Web 服务器环境通常有不同的 INI 文件。
为了查看 Xdebug 是否已加载,以及 PHP 读取了哪些 INI 文件,您可以在 通过浏览器请求的 PHP 脚本中使用 phpinfo()
。这还将显示 Xdebug 是否已加载。如果是,您可以使用 xdebug_info()
检查其设置。
PhpStorm 的“解释器检查”也仅检查命令行,而不检查 PHP 的 Web 服务器版本。
关于php - Xdebug 3 不包含在 phpinfo() 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70873401/