phpmyadmin 4.9+ 版本中注入自定义 html 到登录页的唯一可靠方式是修改 templates/login/header.twig 文件,在 {% block login_header %} 后、{{ 'welcome to phpmyadmin'|gettext }} 前插入 html 片段,并用 vanilla js + localstorage 实现带关闭记忆的弹窗;直接修改模板虽简单但升级易覆盖,更稳妥方案为使用 patch 命令或 nginx sub_filter 注入。

phpMyAdmin 4.9+ 版本中如何注入自定义 HTML 到登录页
phpMyAdmin 默认不提供登录页的公告插槽,但可通过 $cfg['LoginCookieValidity'] 无关的钩子——实际依赖的是其模板机制。4.9 及以上版本使用 Twig 模板,登录页主模板为 templates/login/header.twig(路径相对于 phpMyAdmin 安装根目录)。直接修改该文件是唯一可靠方式,但需注意升级覆盖风险。
操作前确认你正在使用的版本:SELECT VERSION(); 不适用,应查看 phpMyAdmin 界面左下角或 phpinfo() 中的 phpmyadmin_version 常量。
- 备份原文件:
cp templates/login/header.twig templates/login/header.twig.bak - 在
{% block login_header %}开始后、<h2>{{ 'Welcome to phpMyAdmin'|gettext }}</h2>前插入你的 HTML 片段 - 避免使用
<script></script>内联代码;改用document.addEventListener('DOMContentLoaded', ...)包裹逻辑,否则可能因 Twig 渲染顺序导致 JS 执行失败
用纯 JavaScript 实现带关闭记忆的弹窗(localStorage 控制)
弹窗不能每次刷新都跳出,需记录用户是否已关闭。phpMyAdmin 登录页无 jQuery,默认仅加载少量原生 JS,因此必须用 vanilla JS + localStorage。
以下代码片段可安全插入到 header.twig 的 <script></script> 标签内(注意:必须放在
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











