需手动修改 config.inc.php 中的 $cfg['LoginWelcomeMsg'] 配置项,该变量为全局字符串,仅在未登录首页顶部显示,不支持 HTML/PHP 解析,修改后需确保文件路径正确、权限可读、无缓存干扰且未嵌套在 $cfg['Servers'] 内。
修改 config.inc.php 中的 $cfg['LoginWelcomeMsg'] 配置项
phpmyadmin 没有图形化设置入口来改欢迎语,必须手动编辑配置文件。欢迎语由 $cfg['loginwelcomemsg'] 控制,它只在登录页顶部显示(即未登录状态下的主界面),不是登录后的数据库列表页。该变量默认为空,若未定义则不显示任何欢迎文字。
实操建议:
- 找到 phpMyAdmin 根目录下的
config.inc.php(若不存在,可复制config.sample.inc.php并重命名) - 在
$cfg['Servers']配置块之前或之后添加一行:$cfg['LoginWelcomeMsg'] = '欢迎使用生产环境数据库管理平台';
- 值支持纯文本,不解析 HTML 或 PHP 代码,写入
<b>加粗</b>会原样显示为字符串 - 修改后需刷新浏览器(建议硬刷新
Ctrl+Shift+R),且仅对未登录用户生效
为什么改了没反应?常见失效场景
最常遇到的问题是配置未生效,原因往往很具体:
-
config.inc.php文件权限不对(如 Web 服务器无法读取),导致配置被忽略——检查 Apache/Nginx 错误日志中是否有PHP Warning: include(): Failed opening 'config.inc.php' - 改的是错误的文件:有些系统(如 Ubuntu 的 apt 安装版)把配置放在
/etc/phpmyadmin/config.inc.php,而 Web 根目录下的是空壳 - 用了缓存代理(如 Cloudflare)或浏览器缓存,显示的是旧页面——先禁用代理、清空浏览器缓存再试
- 配置写在
$cfg['Servers'][1]块内部,属于服务器专属配置,$cfg['LoginWelcomeMsg']必须是全局变量,不能嵌套
想让欢迎语带动态内容(如当前时间、服务器名)怎么办?
原生不支持动态内容,$cfg['LoginWelcomeMsg'] 是静态字符串。但可以绕过限制,在登录页 HTML 中注入 JS:
- 编辑
templates/login/header.twig(phpMyAdmin 5.0+)或themes/pmahomme/template.php(旧版),在<div id="login_outer_form"> 上方插入:<pre class="brush:php;toolbar:false;"><div class="welcome-dynamic"><script>document.write('服务器:' + location.hostname + ' | ' + new Date().toLocaleString())</script></div></pre> <li>注意:这类修改会在升级 phpMyAdmin 时被覆盖,且需确保模板文件可写、Twig 缓存已清(<code>rm -rf templates_c/*) - 更稳妥的做法是用 Nginx/Apache 的
sub_filter或mod_substitute在响应层替换,但需要服务器管理权限 - 某些语言包(如简体中文)可能自带
LoginWelcomeMsg翻译,若你在lang/zh-utf-8.inc.php里看到类似$strLoginWelcomeMsg = '欢迎使用 phpMyAdmin';的定义,它会优先覆盖config.inc.php中的设置 - 验证方式:临时把
$cfg['Lang']设为'en',看欢迎语是否恢复为你配置的内容 - 若需保留多语言又统一欢迎语,建议直接删掉各语言包里的
$strLoginWelcomeMsg定义,只留config.inc.php一处控制
别漏掉多语言环境下的翻译覆盖问题
如果你启用了多语言($cfg['Lang'] = '' 或用户可切换语言),欢迎语仍会显示你写的英文/中文字符串,不会自动翻译。但要注意:











