phpmyadmin 在 directadmin 中默认不启用,需手动执行 ./build phpmyadmin 安装并配置;常见问题包括 404、#1045 访问拒绝、认证插件不兼容、php 扩展缺失及升级后文件丢失。
phpmyadmin 在 directadmin 中默认不启用
DirectAdmin 安装后,phpMyAdmin 并不会自动部署或暴露访问入口。它不是 DA 内置组件,而是通过第三方脚本(如 setup.sh)手动集成的可选插件。很多用户以为装完 DA 就能直接点开 phpMyAdmin,结果 404 或跳转到 DA 登录页,问题就出在这一步没做。
- 默认情况下,DA 的
/usr/local/directadmin/plugins目录里没有phpmyadmin子目录 - 即使你手动上传了 phpMyAdmin 文件,没配置好 Apache/Nginx 规则,也访问不到
- DA 的用户级面板(如
@#@#@#@#@#@#@#@#@#@0)不会自动挂载 phpMyAdmin 链接,得自己加
建议用官方推荐方式安装:SSH 登录后执行
cd /usr/local/directadmin/custombuild ./build update ./build phpmyadmin这会把 phpMyAdmin 放到
/var/www/html/phpmyadmin,并生成对应 Web 服务配置。
访问路径和权限控制容易配错
装完不等于能用。最常见问题是:能打开登录页,但输对账号密码后提示 #1045 - Access denied for user,或者压根看不到数据库列表。
- phpMyAdmin 默认用的是 MySQL root 用户,但 DA 环境中通常禁用了远程 root 登录,且 root 密码和 DA 的
mysql用户密码不一致 - 它读取的是
/var/www/html/phpmyadmin/config.inc.php里的配置,不是 DA 的全局 MySQL 设置 - 如果你用的是 MariaDB 10.5+ 或 MySQL 8.0+,默认认证插件是
caching_sha2_password,而 phpMyAdmin 4.x(DA 当前主流集成版本)不支持,必须切回mysql_native_password
检查和修复步骤:
- 运行
mysql -u root -p -e "SELECT user,host,plugin FROM mysql.user;"确认 root 用户的plugin字段值 - 若为
caching_sha2_password,执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_root_password'; - 修改
/var/www/html/phpmyadmin/config.inc.php,确保$cfg['Servers'][$i]['auth_type'] = 'cookie';,别设成http或config(后者会明文存密码)
多 PHP 版本下 phpMyAdmin 可能无法加载扩展
DA 支持切换站点 PHP 版本(7.4/8.0/8.1/8.2),但 phpMyAdmin 自身运行依赖 mysqli 和 mbstring 扩展。如果它被绑在某个 PHP-FPM 池下,而该池没启用必要扩展,就会报白屏或 Call to undefined function mysqli_connect()。
- phpMyAdmin 不走用户站点的 PHP 设置,它走的是系统默认 CLI 或 Apache/Nginx 主进程所用的 PHP
- 查看它实际用哪个 PHP:
ps aux | grep php-fpm或httpd -M | grep php,再对应查php -m | grep -E "(mysqli|mbstring)" - 如果缺失,进 DA 后台 → “CustomBuild” → “PHP Extensions”,勾选对应扩展并重建 PHP
特别注意:DA 2.0+ 默认用 mod_lsapi 或 PHP-FPM,不是传统 mod_php,所以不能只改 /usr/local/lib/php.ini,还得确认 FPM pool 的 php_admin_value[extension] 是否包含必要模块。
升级或重装后 phpMyAdmin 链接失效
DA 更新、CustomBuild 升级、甚至某些安全补丁会清空 /var/www/html/ 下非标准文件,导致 phpMyAdmin 被删,但 DA 面板里残留旧链接,点击就 404。
- DA 不管理 phpMyAdmin 的生命周期,它只管自己插件目录(
/usr/local/directadmin/plugins/*),而 phpMyAdmin 是放在 Web 根目录的独立应用 - 一旦
/var/www/html/phpmyadmin/被删,DA 不会自动恢复,也不会提醒 - 更隐蔽的问题是:CustomBuild 升级 PHP 后,可能顺手把旧版 phpMyAdmin(比如 4.9)删掉,换成新版(5.x),但新版要求 PHP ≥ 7.4,如果你站点还跑着 7.2,反而更难用
应对办法很简单:
- 把 phpMyAdmin 当作外部应用维护,不要依赖 DA 自动处理
- 升级前先备份
/var/www/html/phpmyadmin和config.inc.php - 检查
/usr/local/directadmin/custombuild/options.conf里的phpmyadmin=yes是否开启,否则./build phpmyadmin会跳过
DA 对 phpMyAdmin 的支持始终是“尽力而为”,不是“开箱即用”。真正麻烦的从来不是安装,而是每次系统变动后,你得重新核对三件事:文件是否存在、MySQL 认证是否兼容、PHP 扩展是否就位。漏掉任何一环,面板就卡在登录页不动。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











