phpmyadmin 404 或跳转宝塔首页是因 nginx 未加载 phpmyadmin.conf;502 错误源于 php-fpm 监听地址不匹配;“mysqli extension is missing”说明 mysqli 扩展未启用;数据库为空因 config.inc.php 中 host 仍为 localhost 而非 127.0.0.1。

phpMyAdmin 页面 404 或直接跳转到宝塔首页
这是最常见现象:输入 http://你的IP:8888/phpmyadmin 后,要么显示 Nginx 404,要么被重定向回宝塔登录页。根本原因不是 phpMyAdmin 没装,而是宝塔的 Nginx 配置里压根没加载它的 location 规则——尤其是重装过 PHP 扩展或切换过 PHP 版本后,phpmyadmin.conf 这个关键配置文件常被忽略或路径失效。
检查方法:/www/server/panel/vhost/nginx/phpmyadmin.conf 是否存在且内容不为空;再看主配置中是否包含这行:include phpmyadmin.conf;(通常在 /www/server/panel/vhost/nginx/0.default.conf 底部)。
- 如果
phpmyadmin.conf不存在,运行命令重建:bash /www/server/panel/install.sh install phpmyadmin - 如果存在但 include 缺失,手动在
0.default.conf的server { ... }块末尾加上include phpmyadmin.conf;,然后执行nginx -t && systemctl reload nginx - 注意:重装 PHP(如从 7.4 升级到 8.2)后,旧版 phpMyAdmin 可能不兼容,需同步升级——宝塔后台「软件商店 → PHP → 对应版本 → 扩展管理 → phpMyAdmin」点“卸载”再“安装”
点击 phpMyAdmin 提示 “502 Bad Gateway”
502 表明 Nginx 转发请求给 PHP-FPM 失败,常见于 PHP-FPM 未监听预期端口,或 sock 文件权限不对。宝塔默认用 127.0.0.1:9000,但部分新版 PHP 扩展安装后会改用 unix:/tmp/php-cgi-版本.sock,而 phpmyadmin.conf 里仍写的是老地址。
查当前 PHP-FPM 监听方式:grep "listen =" /www/server/php/版本/etc/php-fpm.d/www.conf(把“版本”换成你实际用的,如 82)
- 若输出是
listen = /tmp/php-cgi-82.sock,就打开/www/server/panel/vhost/nginx/phpmyadmin.conf,把里面的fastcgi_pass 127.0.0.1:9000;改成fastcgi_pass unix:/tmp/php-cgi-82.sock; - 确认 sock 文件权限:
ls -l /tmp/php-cgi-*.sock,属组应为nobody或www;如果不是,执行chown www:www /tmp/php-cgi-*.sock - 改完重启服务:
systemctl restart php-fpm-82 && systemctl reload nginx
登录 phpMyAdmin 报错 “mysqli extension is missing”
这个错误不是 phpMyAdmin 自身问题,而是当前 PHP 环境没启用 mysqli 扩展。宝塔面板里 PHP 扩展开关只是写配置,不保证扩展文件真实存在或已编译进 PHP。
验证方式:/www/server/php/版本/bin/php -m | grep mysqli —— 如果无输出,说明扩展确实没生效。
- 先进入宝塔后台「软件商店 → PHP → 对应版本 → 扩展管理」,勾选
mysqli并保存(这会触发自动编译) - 若勾选后仍不出现,手动检查扩展目录:
ls /www/server/php/版本/lib/php/extensions/no-debug-non-zts-*/mysqli.so,如果文件不存在,说明编译失败,需查看日志:tail -n 20 /tmp/panelInstall.pl.log - 常见失败原因:系统缺少
libmysqlclient-dev(Debian/Ubuntu)或mysql-devel(CentOS),需先yum install mysql-devel或apt install libmysqlclient-dev再重试安装扩展
重装 phpMyAdmin 后数据库列表为空或无法连接 MySQL
这往往是因为 phpMyAdmin 的配置文件 config.inc.php 里硬编码了旧 MySQL 地址或账号,而宝塔升级后 MySQL 默认监听 127.0.0.1:3306,但配置里可能还写着 localhost(触发 socket 连接,而 socket 路径可能已变)。
路径:/www/server/phpmyadmin/config.inc.php
- 找到
$cfg['Servers'][$i]['host'] = 'localhost';这行,改成$cfg['Servers'][$i]['host'] = '127.0.0.1'; - 如果用了非默认端口(比如你改过 MySQL 端口),补上端口:
$cfg['Servers'][$i]['port'] = '3307'; - 确认
$cfg['Servers'][$i]['auth_type'] = 'cookie';,不要设成config并硬写密码——容易暴露凭据,也难调试 - 改完记得清浏览器缓存,phpMyAdmin 会缓存登录态和配置
宝塔的 phpMyAdmin 是独立部署的,它不读取宝塔面板自身的 MySQL 配置,所有连接参数都得在自己的 config.inc.php 里显式声明。这点最容易被忽略,一通重装后还是连不上,大概率卡在这儿。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











