【问题标题】:No xdebug in phpinfo()phpinfo() 中没有 xdebug
【发布时间】:2011-04-17 03:24:57
【问题描述】:

我在 php.ini 中添加了以下几行

[XDebug]
zend_extension = C:\PROGRA~1\PHP5\ext\php_xdebug-2.1.0-5.3-vc9.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

php_xdebug-2.1.0-5.3-vc9.dll 的版本是通过页面http://www.xdebug.org/find-binary.php 获得的。

但在phpinfo() 的输出中没有提及“xdebug”字符串。

有什么问题?

(这是我与 php-xdebug 开始工作的第二次斗争,第一次I gave up。如果您有其他关于调试的建议,请也将它们添加,可能作为问题的 cmets。我想在下面的场景下工作windows:“设置断点,运行我的脚本,它在断点处停止,我可以看到某个变量的值”。谢谢)

更新

重新启动 Apache 并不能解决问题。 在日志文件中出现消息:

Apache/2.2.14 (Win32) PHP/5.3.1 已配置 - 恢复正常操作

【问题讨论】:

  • 您是否重新启动了您的网络服务器?
  • 如果您按照 Nev Stokes 的建议重新启动了 Web 服务器,请检查其错误日志以了解任何迹象
  • 我更新了问题 - 重新启动 Apache 并没有解决问题,并且错误日志不包含错误
  • 我不知道如何在 Windows 中执行此操作,但您应该尝试运行 apache 配置测试,看看您是否收到“语法 OK”以外的消息。此外,您可以通过编辑其中的设置并检查您的 phpinfo() 以查看此设置是否更改来检查您的 php.ini 文件是否被考虑在内。
  • 在硬盘中搜索 php.ini,有时在 Windows 下(取决于您获取 PHP 的方式)可能有多个 php.ini 文件,您可能修改了错误的文件。

标签: php xdebug


【解决方案1】:

检查输出的顶部

php -m

对我来说,在解决加载 xdebug 后,它在 php.ini 中显示错误。

【讨论】:

  • 有同样的问题。我从 xampp/php/php.exe 运行 php。问题是我使用的是 xdebug 64 位,但 xampp 32 位
  • 安装 XDebug 扩展的说明将添加到 PHP.INI 的路径字符串指定为 ext\php_xdebug-2.5.4-5.6-vc11-x86_64.dll,这是错误的。由于标准的 PHP.INI 将 ./ext 指定为默认扩展目录,因此此设置在解析路径时会添加一个额外的 ext 目录,从而导致加载失败。在标准的 PHP 安装中,正确的路径是 php_xdebug-2.5.4-5.6-vc11-x86_64.dll。
【解决方案2】:
zend_extension = C:\PROGRA~1\PHP5\ext\php_xdebug-2.1.0-5.3-vc9.dll

应该替换为

zend_extension="C:\PROGRA~1\PHP5\ext\php_xdebug-2.1.0-5.3-vc9.dll"

附:会给 xdebug 人发电子邮件。

【讨论】:

  • 答案已经很老了,可能不再相关或引入了其他错误
  • 实际上 - 发现“”导致了问题。删除它们并且它起作用了......
【解决方案3】:

这对我有用(vscode,xampp) 转到https://xdebug.org/wizard.php并粘贴phpinfo()的内容

然后下载正确的 xdebug.dll 并将其放在您的“ext”文件夹中。

将以下内容添加到您的 php.ini 中

[XDebug]
zend_extension="php_xdebug-2.5.4-7.0-vc14.dll"
xdebug.remote_enable=1
xdebug.remote_autostart=1

【讨论】:

  • 您提到的链接显示了详细说明,即在php.ini 中添加的内容。我不需要添加你提到的所有行。
  • 我使用 WSL2 并运行 docker,输出 systemphpinfo()Linux b018e9f7682c 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64。向导在/usr/local/etc/php/php.ini 中显示zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so。我用docker-compose down 重新启动网络服务器,然后docker-compose up 无济于事,phpinfo 中没有xdebug 部分。
【解决方案4】:

我只是遇到了同样的问题,这对我没有任何帮助。 我在控制台中启动了 php,我看到,php 无法从给定的路径加载 dll。 我的解决方案是省略路径信息,只像这样加载它:

zend_extension="php_xdebug-2.2.5-5.5-vc11.dll"

【讨论】:

    【解决方案5】:

    您可以按照本教程学习 xdebug 入门:http://devzone.zend.com/article/2803-Introducing-xdebug

    Xdebug 和 ZendDebug 是两个独立的调试器,由您决定使用哪一个。任何一个都非常容易设置。在 Eclipse 中只需几个步骤。

    将您的 php 信息页面中的内容发布到此页面以找出要下载的版本:http://www.xdebug.org/find-binary.php

    【讨论】:

      【解决方案6】:

      我自己只是在努力解决这个问题,并找到了一种方法来识别(和解决)问题。它至少适用于 Xampp 和 Windows 7。

      就我而言,问题是点。将“php_xdebug-2.2.5-5.5-vc11.dll”重命名为“php_xdebug.dll”就可以了。

      另一个专业提示是,较新版本的 Xampp 内置了 Xdebug,因此您无需下载它,只需编辑 php.ini 即可:

      zend_extension = "path\to\php\ext\php_xdebug.dll"
      xdebug.remote_enable = on
      xdebug.remote_handler = dbgp
      xdebug.remote_host = 127.0.0.1 (or localhost)
      xdebug.remote_port = 9000
      xdebug.remote_mode = req
      

      然后重新启动apache,它应该可以工作了。使用 xampp 内置 xdebug 的优势在于它最有可能是正确的版本。

      【讨论】:

        【解决方案7】:

        2019 年 1 月写的,我发现在 Xdebug wizard here 关注 Xdebug Wizard

        确切地说,包括使用他们的下载链接到您的 PHP 版本的正确版本的 Xdebug 并复制该行以完全按原样插入到您的 php ini 中,让 Xdebug 出现在我的 phpInfo 中。我正在安装到 Laragon 。从命令行运行 php -m 可以很好地确认一切正常,Xdebug 作为 Zend 扩展加载。关于需要重启服务器等的常见问题。

        【讨论】:

          【解决方案8】:

          在我的例子中,Xdebug 显示在 php -mphp -i 但不在 phpinfo() 结果中。

          在重新启动 php-fpm

          之前,重新启动 Apache 没有帮助
          systemctl restart php-fpm.service
          

          【讨论】:

            【解决方案9】:

            它的发生是因为许可。 您必须从文件夹的属性 Security 选项卡中添加该特定应用程序/用户配置文件的权限。

            我将 PHP 与 IIS 服务器一起使用。 它通过在安全权限中添加 IIS_USER 对我有用。

            【讨论】:

              【解决方案10】:

              在我的情况下,问题是 C:\wamp64\bin\apache\apache2.4.23\bin 文件夹中的 php.symlink 文件,该文件链接到C:\wamp64\bin\php\php5.6.25 中存在 php.ini 文件,但显然它不起作用,所以我删除了它并将实际的 php.ini 复制粘贴到相同的位置文件夹,它工作。

              如果你想把 php.symlink 返回打开 cmd 在 C:\wamp64\bin\apache\apache2.4.23\bin 并写入以下内容(windows):

              mklink php.ini C:\wamp64\bin\php\php5.6.25\php.ini

              替换路径以指向您的 php 文件中的 php.ini

              【讨论】:

                【解决方案11】:

                只为新手:

                如果要检查 php.ini 中指定的 .dll 是否正确加载:

                1. 将 php 添加到 Windows 运行时目录。 win10请参考此帖https://www.forevolve.com/en/articles/2016/10/27/how-to-add-your-php-runtime-directory-to-your-windows-10-path-environment-variable/

                2. 在 Windows 命令提示符下,键入 php -m 并检查是否显示任何错误。

                【讨论】:

                  【解决方案12】:

                  在我的情况下,问题是 apache 加载的文件路径,我更改的文件 php.ini 不是当前加载的配置,所以首先检查它。

                  【讨论】:

                    【解决方案13】:

                    xdebug 出现在“php -m”命令行中,但浏览器上没有任何内容

                    【讨论】:

                      猜你喜欢
                      • 2011-07-27
                      • 2013-07-30
                      • 1970-01-01
                      • 1970-01-01
                      • 2020-06-26
                      • 1970-01-01
                      • 2019-02-15
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多