Rocky Linux 8默认AppStream不提供PHP 8.1,必须通过Remi仓库安装8.1.27:先dnf install remi-release-8.rpm,再dnf module reset php && dnf module enable php:remi-8.1,最后dnf install php*,验证php -v输出为8.1.27。

Rocky Linux 8 默认仓库中不提供 PHP 8.1,其 AppStream 仓库仅包含 PHP 7.4(EOL)或通过模块流启用较旧版本。直接 yum install php 会装到 7.4,且无法满足 8.1.27 这一特定小版本需求。因此,必须借助第三方仓库(Remi) 才能通过 yum 安装 PHP 8.1.27。
以下是完整、可复现的操作流程,已在 Rocky Linux 8.9 环境实测通过:
启用 Remi 仓库并启用 PHP 8.1 模块流
Remi 是 RHEL/CentOS/Rocky 生态最成熟、更新及时的 PHP 第三方源,官方支持 PHP 8.1 长期维护分支(包括 8.1.27)。
执行以下命令:
立即学习“PHP免费学习笔记(深入)”;
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf module reset php dnf module enable php:remi-8.1
注意:不能跳过 dnf module reset php —— 否则可能因模块状态冲突导致安装失败或版本错乱。
安装 PHP 8.1.27 及常用扩展
启用模块后,yum 会自动拉取 Remi 仓库中对应版本(当前 Remi-8.1 流默认即为 8.1.27):
dnf install -y php php-cli php-common php-fpm \ php-mysqlnd php-pdo php-gd php-mbstring php-xml \ php-zip php-curl php-opcache php-json
验证版本:
php -v # 输出应为:PHP 8.1.27 (cli) (built: ...)
检查 FPM 是否就绪:
php-fpm -v systemctl is-enabled php-fpm # 应返回 enabled
基础配置与启动
默认配置已适配生产环境基本要求,只需确认关键项:
- 主配置文件:
/etc/php.ini,可按需调整date.timezone、memory_limit等 - FPM 池配置:
/etc/php-fpm.d/www.conf,默认监听127.0.0.1:9000,用户为apache;如需改用www用户,请同步修改user和group并确保该用户存在 - 启动服务:
systemctl enable --now php-fpm
检查状态:systemctl status php-fpm,确保 Active: active (running) 且无报错。
SELinux 与防火墙注意事项
Rocky 8 默认启用 SELinux(enforcing),若 Nginx/Apache 通过 socket 或网络连接 PHP-FPM 失败,常见原因有:
- SELinux 阻止 Web 服务器访问网络端口:运行
setsebool -P httpd_can_network_connect 1(对 Apache)或setsebool -P nginx_can_network_connect 1(对 Nginx) - 若使用 Unix socket(如
unix:/run/php-fpm/www.sock),还需确保上下文正确:ls -Z /run/php-fpm/,必要时执行restorecon -Rv /run/php-fpm - 防火墙默认放行 9000 端口不开放,如需外部访问(不推荐),请手动添加:
firewall-cmd --add-port=9000/tcp --permanent && firewall-cmd --reload



















