almalinux 9上安装phpmyadmin必须启用remi-8.1源,因默认仓库无该包且epel提供的4.9版不兼容php 8.1;需依次启用epel、remi-8.1,再dnf --enablerepo=remi,remi-php81 install phpmyadmin,并配置selinux、php扩展及mysql安全加固。
phpmyadmin 在 almalinux 9 上不能直接用 dnf install phpmyadmin 装——默认仓库里没有,必须启用第三方源或手动部署。最稳妥、适配性最好的方式是启用 remi 仓库后安装,而非解压即用或 docker(除非你明确需要容器隔离)。
为什么 remi 是首选?
AlmaLinux 9 的 PHP 默认版本是 8.1,而官方 phpMyAdmin 包依赖较新 PHP 扩展(如 mbstring、json、openssl)。remi 提供与系统 PHP 版本严格对齐的 phpMyAdmin 构建包,且自动处理 Apache 配置和 SELinux 上下文。EPEL 单独启用时只提供旧版(phpMyAdmin-4.9),不兼容 PHP 8.1+,会报 PHP Fatal error: Uncaught Error: Call to undefined function mb_strlen()。
启用 remi 并安装 phpMyAdmin
按顺序执行以下命令(需 root 权限):
- 先更新系统:
dnf update -y - 启用 EPEL:
dnf install epel-release -y - 启用 remi(注意是
remi-8.1,不是remi-8或remi-9):dnf install https://rpms.remirepo.net/enterprise/remi-release-8.1.rpm -y - 安装
phpMyAdmin(自动拉取匹配 PHP 8.1 的版本):dnf --enablerepo=remi,remi-php81 install phpMyAdmin -y - 重启
httpd:systemctl restart httpd
安装后配置文件位于 /etc/httpd/conf.d/phpMyAdmin.conf,默认只允许本地访问(Require ip 127.0.0.1)。如需远程访问,必须显式修改该文件中的 <requireany></requireany> 块,不能仅靠防火墙放行端口。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
常见访问失败原因及修复
浏览器打开 http://your-ip/phpmyadmin 显示 404 或 403,通常由以下原因导致:
-
httpd没读到phpMyAdmin.conf:确认文件存在且未被重命名(如phpMyAdmin.conf.bak),检查httpd -t是否返回Syntax OK - SELinux 阻止访问:AlmaLinux 9 默认启用 enforcing 模式,运行
setsebool -P httpd_can_network_connect_db 1允许 Apache 连 MySQL;若仍报错,临时设为 permissive 测试:setenforce 0 - PHP 扩展缺失:
php -m | grep -E "mbstring|json|openssl"必须全部输出,缺一则phpMyAdmin启动失败 - MySQL 未运行或 root 密码为空:AlmaLinux 9 安装 MySQL 后必须运行
mysql_secure_installation,否则phpMyAdmin登录时提示#1045 Cannot log in to the MySQL server
别碰 config.inc.php 的三个坑
手动编辑 /usr/share/phpMyAdmin/config.inc.php 是高危操作,多数问题出在这里:
-
$cfg['blowfish_secret']必须是非空字符串(32 字符以上),但不能用中文或特殊符号,推荐用openssl rand -base64 32生成 -
$cfg['Servers'][$i]['host']不要改成127.0.0.1—— Apache 和 MySQL 同机时应保持'localhost',否则触发 socket 连接失败 - 不要删掉
/* End of servers configuration */后面的注释块,某些版本解析器会因缺少结尾注释而静默失败
改完必须重启 httpd,且不能只 reload —— systemctl restart httpd 才会重新加载 PHP 配置。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










