跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何修复phpMyAdmin界面缺少图标_FontAwesome与静态文件路径映射

根本原因是phpMyAdmin 5.0+默认通过CDN加载FontAwesome字体,国内网络常拦截或超时导致@font-face失败,图标回退为方块;实操应禁用CDN、确保本地fonts目录完整、配置正确MIME类型并清除浏览器缓存。 php MyAdmin 报错
FontAwesome
字体加载失败或图标显示为方块 根本原因是 phpmyadmin 5.0+ 默认改用 cdn 加载
fontawesome
,但国内网络常被拦截或超时,导致 css 中的
@font-face
请求失败,图标回退成 unicode 占位符(□)。不是权限问题,也不是 apache/nginx 配置漏了
alias
,而是前端资源链路断了。 实操建议: 打开
config.inc.php
,添加一行:
$cfg['FontAwesome'] = false;
—— 强制禁用 CDN,改用本地字体文件 确认 phpMyAdmin 安装目录下存在
fonts/
子目录,且包含
fontawesome-webfont.woff2
等文件(若缺失,从旧版 phpMyAdmin 复制或重新解压) 检查 Web 服务器是否允许直接访问
.woff2
文件:Apache 需有
AddType font/woff2 .woff2
;Nginx 需在
http
或
server
块中加
types { font/woff2 woff2; }
静态文件(
js
、
css
、
fonts
)404 或路径错乱 典型现象是控制台报
GET /phpmyadmin/js/vendor/jquery.js 404
或
GET /phpmyadmin/fonts/fontawesome-webfont.woff2 403
。这通常是因为 Web 服务器未将请求正确映射到 phpMyAdmin 的实际文件系统路径,尤其常见于子目录部署(如
/phpmyadmin/
)或使用符号链接时。 实操建议: 确认
$cfg['PmaAbsoluteUri']
在
config.inc.php
中设为完整 URL,例如:
$cfg['PmaAbsoluteUri'] = 'https://example.com/phpmyadmin/';
(结尾必须有斜杠) Apache 用户检查
Alias
是否指向真实路径,例如:
Alias /phpmyadmin "/usr/share/phpmyadmin"
,并确保该路径下确实存在
js/
和
fonts/
目录 Nginx 用户注意
location ~ ^/phpmyadmin/(.+)$
的正则捕获是否覆盖了深层路径,推荐用更宽松写法:
location /phpmyadmin/ { alias /usr/share/phpmyadmin/; }
(注意 alias 末尾斜杠)
vendor
目录缺失导致
jquery
、
moment
等 JS 报错 phpMyAdmin 5.2+ 开始把前端依赖移入
vendor
目录,若通过 git clone 或精简包安装,可能漏掉
composer install
步骤,造成
/phpmyadmin/js/vendor/jquery.min.js
404。这不是 CDN 问题,而是本地构建不完整。 立即学习 “ PHP免费学习笔记(深入) ”; PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 实操建议: 进入 phpMyAdmin 根目录,运行:
composer install --no-dev
(需提前装好 Composer) 若无法运行 composer(如生产环境无 PHP CLI),直接下载官方完整版 ZIP 包(带 vendor),别用 git clone + make dist 混搭 验证:访问
https://yoursite.com/phpmyadmin/js/vendor/jquery.min.js
应返回 JS 内容,而非 404 或下载页 为什么改了配置还是没用?缓存和 MIME 类型最常被忽略 即使
$cfg['FontAwesome'] = false
生效,仍可能看到方块图标——大概率是浏览器强缓存了旧 CSS,或服务器返回了错误的
Content-Type
(比如把
.woff2
当作
text/plain
返回,浏览器拒绝加载)。 实操建议: 强制刷新 CSS:按住
Ctrl
+ 点击刷新按钮(Chrome/Firefox),或清空浏览器缓存(不只是 Cookies) 检查响应头:用浏览器开发者工具看
fonts/fontawesome-webfont.woff2
的
Content-Type
是否为
font/woff2
;不是就修服务器 MIME 配置 临时加个版本参数测试:在
config.inc.php
末尾加
$cfg['VersionCheck'] = false;
(避免远程版本检测干扰) 事情说清了就结束

相关文章