【问题标题】:Xdebug 3 not included in phpinfo()Xdebug 3 未包含在 phpinfo() 中
【发布时间】:2022-01-27 04:33:55
【问题描述】:

我在使用 Big Sur 的 Mac OS 上遇到 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 没有出现可能是什么问题?

【问题讨论】:

    标签: php phpstorm xdebug xdebug-3


    【解决方案1】:

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

    警告:必须通过将 'xdebug.mode' 设置为 'develop' 在 php.ini 中启用功能

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

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

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

    【讨论】:

      【解决方案2】:

      develop:启用开发助手,包括重载的 var_dump()。 https://xdebug.org/docs/all_settings#mode

      xdebug.mode=debug,develop

      【讨论】:

      • 感谢推荐,不过貌似没多大用,除非更新php.ini后必须重启php/nginx/apache
      • @user17997251 解决方法,重启http服务器
      • 这不是正确答案,因为如果develop 不是xdebug.mode 设置的一部分,则错误消息会有所不同。
      猜你喜欢
      • 1970-01-01
      • 2020-06-26
      • 2019-02-15
      • 2011-04-17
      • 2020-11-21
      • 2012-12-12
      • 2013-07-30
      • 2021-03-19
      • 1970-01-01
      相关资源
      最近更新 更多