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

Debian10升级至Debian11时因phpmyadmin导致apt full-upgrade失败

Debian 10升级至11后phpmyadmin安装失败及后续问题

问题背景

服务器原环境为Debian 10,运行apache2、PHP 7.3、MariaDB及phpMyAdmin,升级至Debian 11时,执行sudo apt full-upgrade过程中phpMyAdmin包处理失败,但系统版本已成功切换至Debian 11(通过lsb_release -a验证)。后续出现apt行为异常、MySQL无法使用、网站无法连接数据库的问题,apt update显示有300+包待更新,apt fix-broken install无法解决。

升级时的错误信息

Préparation du dépaquetage de .../30-phpmyadmin_4%3a5.0.4+dfsg2-2+deb11u1_all.deb ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dpkg-maintscript-helper: error: file '/usr/share/phpmyadmin/js/vendor/codemirror/addon/hint' not owned by package 'phpmyadmin:all'
dpkg-maintscript-helper: error: file '/usr/share/phpmyadmin/js/vendor/codemirror/addon/hint/sql-hint.js' not owned by package 'phpmyadmin:all'
dpkg-maintscript-helper: error: file '/usr/share/phpmyadmin/js/vendor/codemirror/addon/hint/show-hint.js' not owned by package 'phpmyadmin:all'
dpkg-maintscript-helper: error: file '/usr/share/phpmyadmin/js/vendor/codemirror/addon/hint/show-hint.css' not owned by package 'phpmyadmin:all'
dpkg-maintscript-helper: error: directory '/usr/share/phpmyadmin/js/vendor/codemirror/addon/hint' contains files not owned by package phpmyadmin:all, cannot switch to symlink
dpkg: erreur de traitement de l'archive /tmp/apt-dpkg-install-7oxSMZ/30-phpmyadmin_4%3a5.0.4+dfsg2-2+deb11u1_all.deb (--unpack) :
 new phpmyadmin package pre-installation script subprocess returned error exit status 1

系统版本验证

root@SERV-TEST-UPDATE-v2:/home/informatique# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

问题根源

  1. phpMyAdmin文件归属冲突:Debian 11版本的phpMyAdmin调整了codemirror组件的文件结构,计划将/usr/share/phpmyadmin/js/vendor/codemirror/addon/hint目录转为符号链接,但该目录下的旧文件不属于新版本的phpmyadmin包,导致dpkg无法完成目录转换,触发安装失败。
  2. dpkg破损状态连锁反应:phpMyAdmin安装失败导致dpkg处于破损状态,后续apt无法正常处理其他依赖包的升级,进而引发MySQL服务异常、PHP版本兼容性问题,最终导致网站无法连接数据库。

解决步骤

1. 修复phpMyAdmin破损问题

  • 备份phpMyAdmin配置文件:
    mkdir -p /root/phpmyadmin-config-backup
    cp /usr/share/phpmyadmin/config.inc.php /root/phpmyadmin-config-backup/
    
  • 强制移除破损的phpMyAdmin包:
    dpkg --remove --force-all phpmyadmin
    
  • 清理残留的phpMyAdmin文件:
    rm -rf /usr/share/phpmyadmin/
    
  • 修复dpkg状态:
    dpkg --configure -a
    

2. 完成系统包升级

apt update && apt full-upgrade -y

3. 重新安装phpMyAdmin

apt install phpmyadmin -y

安装过程中注意选择正确的web服务器(apache2),并配置数据库连接。

4. 检查并修复MySQL服务

  • 查看MariaDB状态:
    systemctl status mariadb
    
  • 若服务未启动,手动启动并设置开机自启:
    systemctl start mariadb
    systemctl enable mariadb
    
  • 验证数据库连接:
    mysql -u root -p
    

若登录失败,可通过/etc/mysql/debian.cnf中的凭证尝试登录,或重置root密码。

5. 调整PHP版本兼容性

Debian 11默认使用PHP 7.4,需确保apache2启用对应模块:

a2dismod php7.3
a2enmod php7.4
systemctl restart apache2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:20:32