【问题标题】:Xdebug not workingXdebug 不工作
【发布时间】:2015-01-21 12:00:46
【问题描述】:

我在 Windows 8.1 上使用 PHP 5.3.24,但无法让 Xdebug 工作。 var_dump() 没有美化,没有错误信息显示。 Xdebug 模块正在加载(php -i 和 php -m 都报告模块已加载,并且它在 phpinfo() 中正确显示),并且我在 php.ini 中有 html_errors = On

这就是我在 php.ini 中的内容:

[XDEBUG]
; location of my configuration-file
zend_extension="php_xdebug-2.2.6-5.3-vc9-nts.dll"
xdebug.default_enable = on 
html_errors = on

我尝试从 zend_extension 文件名周围删除引号;我尝试过不同的 .dll(我知道线程安全版本是错误的,这不起作用,同样是 64 位版本);我已经检查了 .dll 本身的权限,我已经尝试了几乎所有我能想到的!

看起来 dll 正在加载但无法正常工作,有人知道 Windows 8.1 和 Xdebug 是否存在特定问题 - 我之前在 Windows XP 上使用 Xdebug 没有问题。或者我在这里错过了什么?

谢谢。

【问题讨论】:

    标签: php xdebug


    【解决方案1】:

    说 var_dump() 没有美化,表明您正在编辑 PHP cli 安装的 php.ini,但您希望在 PHP CGI 安装中使用(用于 Web 应用程序) 创建一个包含 phpinfo() 的 php 脚本并在浏览器中运行它。 寻找:

    • 加载的配置文件
    • XDebug 条目

    然后使用这个wizard 来验证安装

    【讨论】:

      【解决方案2】:

      在 phpize 中寻找正确的 xdebug 配置的主要内容;即phpize的版本应该等于php的版本(phpize的版本=php=php-config)

      要显示系统上安装的所有 php 版本,请使用

      sudo update-alternatives --list php
      

      下面给出的答案是针对基于 linux 的系统;但在 Windows 中,您必须使用相同的概念。即使用 cmd(以管理员身份运行)而不是 shell。例如用于重启 apache 等。

      先把php设置成想要的版本

      要将 PHP 7.0 设置为默认值,请运行

      sudo update-alternatives --set php /usr/bin/php7.0
      

      要将 PHP 7.2 设置为默认值,请运行

      sudo update-alternatives --set php /usr/bin/php7.2
      

      要将 PHP 7.3 设置为默认值,请运行

      sudo update-alternatives --set php /usr/bin/php7.3
      

      要将 PHP 7.4 设置为默认值,请运行

      sudo update-alternatives --set php /usr/bin/php7.4
      

      还要配置 php-config 和 phpize 到想要的版本;使用类似的命令

      sudo update-alternatives --set phpize /usr/bin/phpize7.0
      sudo update-alternatives --set php-config /usr/bin/php-config7.0
      
      sudo update-alternatives --set phpize /usr/bin/phpize7.2
      sudo update-alternatives --set php-config /usr/bin/php-config7.2
      
      sudo update-alternatives --set phpize /usr/bin/phpize7.3
      sudo update-alternatives --set php-config /usr/bin/php-config7.3
      
      sudo update-alternatives --set phpize /usr/bin/phpize7.4
      sudo update-alternatives --set php-config /usr/bin/php-config7.4
      
      sudo update-alternatives --set phpize /usr/bin/phpize8.0
      sudo update-alternatives --set php-config /usr/bin/php-config8.0
      

      在我们可以将 Apache 配置为使用 PHP(7.2、8.0 等,我将使用 7.2 为例,但可以使用任何已安装的版本号),我们需要通过键入禁用 PHP 的新(或旧)版本

      a2dismod php7.4
      

      现在使用以下命令启用新安装的 PHP 7.2 版本:

      a2enmod php7.2
      

      或 a2enmod php8.0

      重新启动 Apache Web 服务器以使更改生效:

      Linux

      sudo systemctl restart apache2
      

      Rest 与 xdebug 安装页面上给出的相同。即

      1. 创建一个 php 文件,例如localhost 目录中的 info.php。即 /var/www/html

      2. 输入这个文件

      3. 在浏览器中运行文件,即 http://localhost/info.php

      4. 使用 ctrl + A 复制所有 info.php 文件。

      5. 粘贴到文本区域

        https://xdebug.org/wizard

      按照 xdebug 指示的步骤进行操作

      仅供参考:请记住为 xdebug 3 使用端口 9003 而不是端口 9000 当然对于 xdebug 2 使用端口 9000。

      【讨论】:

        猜你喜欢
        • 2021-11-28
        • 2018-11-01
        • 2011-02-27
        • 2011-09-05
        • 1970-01-01
        • 2011-01-13
        • 2011-12-25
        • 2016-04-08
        • 1970-01-01
        相关资源
        最近更新 更多