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

Ubuntu20.04升级phpMyAdmin5.2适配PHP8+遇CSS损坏故障

phpMyAdmin 5.2升级后样式丢失修复方案

样式损坏本质是静态资源访问权限、Web服务器路径映射配置错误,属于手动升级PMA后的常见问题,按以下步骤逐一排查修复即可:

1. 修正目录权限(禁止全局777配置)

全局777权限存在极高安全风险,先重置PMA目录的标准权限,以下命令默认PMA安装路径为/usr/share/phpmyadmin,如果手动解压到其他路径请自行替换:

# 重置属主为Web运行用户
chown -R www-data:www-data /usr/share/phpmyadmin
# 目录权限设为755,文件权限设为644
find /usr/share/phpmyadmin -type d -exec chmod 755 {} \;
find /usr/share/phpmyadmin -type f -exec chmod 644 {} \;
# 仅给临时目录分配读写权限,设为700即可
chmod 700 /usr/share/phpmyadmin/tmp

2. 修复Web服务器配置

如果你用Apache作为Web服务器

编辑PMA的Apache配置文件/etc/apache2/conf-available/phpmyadmin.conf,确认存在静态资源的访问放行规则,缺失则补全以下内容:

Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    Require all granted
</Directory>

# 静态资源目录单独放行
<Directory /usr/share/phpmyadmin/css>
    Require all granted
</Directory>
<Directory /usr/share/phpmyadmin/js>
    Require all granted
</Directory>
<Directory /usr/share/phpmyadmin/themes>
    Require all granted
</Directory>

保存后执行以下命令重载配置:

a2enconf phpmyadmin
systemctl reload apache2

如果你用Nginx作为Web服务器

编辑对应站点的Nginx配置文件,补全PMA静态资源的匹配规则,避免静态资源被转发到PHP-FPM解析:

location /phpmyadmin {
    root /usr/share/;
    index index.php;
    location ~ ^/phpmyadmin/(.+\.php)$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    # 静态资源直接返回,不走PHP解析
    location ~* ^/phpmyadmin/(.+\.(css|js|png|jpg|gif|ico|woff|ttf|svg))$ {
        root /usr/share/;
        expires 7d;
        access_log off;
    }
}

保存后执行以下命令校验并重载配置:

nginx -t
systemctl reload nginx

3. 缓存清理验证

  • 清空PMA临时目录缓存:rm -rf /usr/share/phpmyadmin/tmp/*
  • 浏览器强制刷新(Ctrl+F5)或打开隐私窗口访问PMA登录页,验证样式是否恢复

4. 异常排查

如果样式仍未恢复,打开浏览器F12开发者工具,切换到Network面板查看CSS/JS文件的请求状态:

  • 返回403:回到第一步检查目录权限、Web服务器访问规则配置
  • 返回404:回到第二步核对配置中写的PMA路径和实际安装路径是否一致
  • 返回500:查看Web服务器错误日志定位问题,日志默认路径为/var/log/apache2/error.log(Apache)或/var/log/nginx/error.log(Nginx)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 13:45:34