phpMyAdmin 在 CyberPanel 中需手动启用模板、配置反向代理、适配 PHP 版本并创建专用 MySQL 用户,缺一不可。默认未启动服务且无反向代理规则,常见 404/503 错误;须启用 phpMyAdmin 虚拟主机模板、添加 ProxyURI 上下文指向 http://127.0.0.1:2000、升级 phpMyAdmin 至 5.2.2+ 并禁用 mcrypt、为 MySQL 创建 localhost 访问的专用用户。
phpMyAdmin 在 CyberPanel 里默认没开,得手动启用
cyberpanel 默认不启用 phpmyadmin,哪怕你装了 lsp(litespeed web server + openlitespeed),它的管理界面也压根不会自动暴露这个入口。不是配置错了,是根本没启动服务、也没配反向代理规则。
常见错误现象:404 Not Found 或 503 Service Temporarily Unavailable 访问 /phpmyadmin 路径;或者直接跳转到 CyberPanel 登录页——说明请求根本没走到 phpMyAdmin 进程。
- 确认是否已安装:登录 SSH,运行
ls -l /usr/local/lsws/Example/html/phpmyadmin/,有目录才说明已部署(LSP 1.9+ 自带) - 必须启用 OpenLiteSpeed 的
phpMyAdmin虚拟主机模板:进 CyberPanel → “Web Services” → “OpenLiteSpeed” → “Virtual Host Templates” → 找到phpMyAdmin模板并勾选“Enable” - 重启 OpenLiteSpeed:命令行执行
systemctl restart lsws,不能只 reload
用域名子路径(如 example.com/phpmyadmin)访问要配反向代理
直接用主域名加路径访问 phpMyAdmin 不是开个模板就完事的——OpenLiteSpeed 默认只把 /phpmyadmin 请求转发给本地监听的 phpMyAdmin 服务(127.0.0.1:2000),但这个端口本身没开 HTTP 服务,得靠另一个进程跑起来。
使用场景:你不想多绑一个子域名(比如 phpmyadmin.example.com),只想在现有站点下加个路径入口。
- 确保
phpMyAdmin模板启用后,再进 “Websites” → 选你的站点 → “Edit” → “Context” → 点右上角 “Add” → 类型选Proxy - URI 填
/phpmyadmin/(结尾斜杠不能少,否则重定向会出错) - Target 填
http://127.0.0.1:2000—— 这是 phpMyAdmin 内置服务器监听地址,不是你随便改的端口 - 保存后执行
systemctl restart lsws,别信面板里的“Graceful Restart”
登录时提示 “Cannot load mcrypt extension” 或空白页
这是 PHP 版本和扩展不匹配导致的,CyberPanel 2.3+ 默认用 PHP 8.0/8.1,而旧版 phpMyAdmin(如 5.2.x)仍依赖已废弃的 mcrypt 扩展。不是你漏装扩展,是它根本不该用这个函数了。
性能影响:强行启用 mcrypt 会导致 PHP 启动失败或响应极慢,尤其在 PHP 8.1+ 上完全不可用。
- 优先升级 phpMyAdmin 到 5.2.2+ 或 6.0+:进
/usr/local/lsws/Example/html/phpmyadmin/,用wget下新包解压覆盖(保留config.inc.php) - 检查当前 PHP 版本:命令行运行
php -v,再查它对应的php.ini路径(php --ini),确认extension=mbstring和extension=openssl已启用(mcrypt必须删掉或注释) - 如果坚持用老版本 phpMyAdmin,只能切回 PHP 7.4:在站点设置里指定 PHP 版本,并确保
php-mcrypt包已安装(yum install php-mcrypt,仅 CentOS 7 有效)
为什么不能直接用 root 登录 MySQL?面板限制很死
CyberPanel 的 MySQL 用户体系和 phpMyAdmin 是两套逻辑。你在 CyberPanel 里创建的数据库用户,密码是明文存进面板数据库的,但 MySQL 实例本身并不知道这些凭据——phpMyAdmin 只能连你手动授权过的账号,root 默认被绑定到 localhost 且禁止远程连接,而 phpMyAdmin 的请求走的是 127.0.0.1,看似满足,实则被 SELinux 或 MySQL 的 skip-networking 拦了。
容易踩的坑:在 phpMyAdmin 登录页输 root + 面板里显示的 root 密码,大概率报 #1045 Cannot log in to the MySQL server。
- 不要碰 MySQL 的 root 用户:进 SSH,用
mysql -u root -p确认能否本地登录,如果不行,先修复 MySQL 服务(systemctl restart mysql) - 新建专用账号:进 CyberPanel → “Databases” → “Create Database” → 勾选“Create Database User”,记下生成的用户名和密码
- phpMyAdmin 登录时填这个新账号,Host 填
localhost(不是127.0.0.1,MySQL 对这两个解析不同)
lsws,或者用了新版 PHP 却硬塞老版 phpMyAdmin。php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











