You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

APT安装Xdebug后未在info.php中显示的配置问题求助

解决Ubuntu 16.04 + PHP 5.6环境下Xdebug不显示的问题

我碰到过类似的情况,针对你这个环境,Xdebug已经安装但phpinfo里没显示,大概率是配置加载不匹配或者模块未正确启用的问题,一步步来排查:

  • 先确认PHP版本与Xdebug的适配性
    Ubuntu 16.04的源里,php-xdebug可能默认对应PHP 7.x版本(如果系统里同时装了多个PHP版本)。先执行php -v确认当前Apache使用的PHP是不是5.6,再检查Xdebug扩展的路径是否对应PHP5.6的扩展目录:

    find /usr/lib/php/ -name xdebug.so
    

    PHP 5.6的扩展目录通常是/usr/lib/php/20131226/,如果找到的xdebug.so不在这个目录里,说明装错版本了。

  • 确认修改的是正确的php.ini文件
    很多人会改错配置文件!Apache使用的php.ini和CLI的可能不一样,打开你的info.php,找到Loaded Configuration File这一行,复制对应的路径,比如/etc/php/5.6/apache2/php.ini,确保你修改的是这个文件,而不是CLI的/etc/php/5.6/cli/php.ini。

  • 检查xdebug.ini的配置内容
    既然你看到xdebug.ini被解析,打开这个文件(一般在/etc/php/5.6/mods-available/xdebug.ini),确认里面有一行:

    zend_extension=xdebug.so
    

    如果路径是绝对路径,要确保路径正确;如果是相对路径,要保证PHP能找到这个扩展文件。

  • 手动启用Xdebug模块
    有时候apt安装后不会自动为PHP5.6启用模块,执行以下命令:

    sudo phpenmod -v 5.6 xdebug
    sudo service apache2 restart
    

    这里-v 5.6指定为PHP5.6启用模块,避免影响其他PHP版本。

  • 查看Apache错误日志找线索
    如果还是不行,看看Apache的错误日志有没有加载失败的提示:

    tail -n 20 /var/log/apache2/error.log
    

    如果出现类似Failed loading xdebug.so: /usr/lib/php/20131226/xdebug.so: wrong ELF class: ELFCLASS64或者版本不兼容的错误,说明你装的Xdebug和PHP5.6不匹配,需要手动编译适配版本。

  • 手动编译适配PHP5.6的Xdebug(终极方案)
    如果源里的Xdebug版本不对,手动编译支持PHP5.6的最后一个Xdebug版本(2.5.5):

    1. 安装编译依赖:
      sudo apt install php5.6-dev gcc make
      
    2. 下载并编译:
      wget https://xdebug.org/files/xdebug-2.5.5.tgz
      tar -xzf xdebug-2.5.5.tgz
      cd xdebug-2.5.5
      phpize
      ./configure --enable-xdebug
      make
      
    3. 复制编译好的扩展到PHP5.6的扩展目录:
      sudo cp modules/xdebug.so /usr/lib/php/20131226/
      
    4. 再次在php.ini里添加zend_extension=xdebug.so,重启Apache。

做完这些步骤后,刷新info.php,搜索“Xdebug”应该就能看到模块信息了。

内容的提问来源于stack exchange,提问作者kczer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:51:23