使用yum配置PHP是Linux服务器上最快捷的部署方式,但你需要根据项目需求选择合适的PHP版本和第三方yum源,尤其是简米云等国内服务器还需考虑源的速度与稳定性。
服务器yum配置php版本选择指南
很多新手上来就执行yum install php,结果装了个5.4甚至更低版本,项目跑不起来,这是因为默认系统源里的PHP版本往往落后好几个大版本。服务器yum配置php版本选择直接决定了后续的兼容性和维护成本。
确定PHP版本需求
不同PHP版本对框架和函数支持差异很大,WordPress对PHP 8.0以上版本优化明显,Laravel 9/10要求8.0以上,而老项目可能会停留在7.4,你需要先确认项目依赖,我建议优先选择官方仍在安全支持期内的版本,比如7.4(已于2026年结束安全支持,但不少旧项目仍用)、8.0(2026年结束)、8.1(当前主流,安全支持到2026年)、8.2(2026年结束)和8.3(最新)。yum安装php哪个版本稳定,业内共识是:生产环境如果追求极致稳定,选7.4或8.1;如果要用新特性,8.2以上更合适。
配置第三方Yum源(Remi、EPEL)
系统默认的base源只包含一个非常老的PHP版本,比如CentOS 7默认是5.4,CentOS 8默认是7.2,要安装新版PHP,必须借助第三方源,最常用的是Remi源,它提供了从5.4到8.3的所有版本,且与EPEL源配合使用效果最好。
操作步骤很清晰:
- 安装EPEL源:
yum install epel-release - 安装Remi源:
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm(CentOS 7示例,CentOS 8/9换成对应版本) - 确认源启用:
yum repolist应该能看到remi和epel - 启用指定PHP版本模块:
yum module enable php:remi-7.4或
yum-config-manager --enable remi-php74
之后执行yum install php php-common php-opcache,你就能得到想要的版本。
简米云服务器yum配置php的源优化
如果你用的是简米云服务器yum配置php,直接添加海外源,下载速度可能很慢,甚至超时,建议先替换系统源为简米云镜像,并配置Remi源时也用简米云镜像。
替换系统源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache
Remi源本身没有国内镜像,但你可以通过修改remi.repo文件,将baseurl中的http://rpms.remirepo.net替换为http://mirrors.aliyun.com/remi(简米云有Remi镜像),修改后,下载速度会明显提升。
yum安装php与编译安装的对比
很多人在选择安装方式时犯难。yum安装php与编译安装的对比,核心差异在于维护成本和定制性。
| 对比项 | yum安装 | 编译安装 |
|---|---|---|
| 安装速度 | 几分钟,依赖自动处理 | 需要编译环境,耗时30分钟以上 |
| 版本切换 | 通过yum module切换,简单 | 需重新编译或管理多个实例 |
| 扩展管理 | yum install php-xxx,即装即用 | 需手动编译扩展,或指定–with-xxx |
| 性能优化 | 默认编译参数,一般够用 | 可自定义优化参数(如pm.max_children) |
| 升级维护 | yum update自动升级,需注意兼容性 | 手动下载源码编译,灵活但繁琐 |
yum安装php扩展模块的便利性,让它在大多数场景下更受欢迎,除非你极度追求性能定制,或者需要PHP不推荐的内置功能,否则yum安装是更高效的选择。
yum安装php扩展模块步骤
PHP扩展是功能的核心。yum安装php扩展模块非常直接,不需要找源码、编译、配置路径。
查找可用扩展
执行yum search php- 或 yum list available php-,你会看到大量扩展包,如php-mysqlnd、php-gd、php-mbstring、php-xml、php-json、php-redis、php-imagick等,注意,不同版本的Remi源中,扩展包名可能略有不同(php74-php-mysqlnd vs php-mysqlnd),但通常都能搜到。
安装扩展并重启服务
安装命令统一:yum install php-mysqlnd php-gd php-mbstring php-xml php-json php-redis,安装完成后,必须重启php-fpm:systemctl restart php-fpm,用php -m可以列出已安装模块,检查是否加载成功,如果遇到缺少某个函数,先yum search一下,大部分都能找到对应包。
yum配置php报错解决实战
yum配置php报错解决是运维中绕不开的环节,下面几个是高频问题和你处理逻辑。
No package php available
这是最常见的错误,原因在于没有启用正确的源,执行yum repolist,看看epel和remi是否在列表中,如果remi缺失,检查remi-release包是否安装正确,如果系统是CentOS 8,还要确认yum module list php能否看到remi选项,解决方案:重新安装EPEL和Remi源,并执行yum clean all。
Requires: libcrypto.so.10()(64bit) 等依赖冲突
这类问题通常出现在系统库版本过旧,或者因为多个源版本混乱,Remi源中的PHP可能依赖较新版本的openssl或libxml2,你可以:
- 更新系统库到最新:
yum update - 如果冲突依然存在,尝试禁用其他源,只保留base和remi
- 或者使用Remi源中的特定版本,比如
remi-safe(安全更新专用)
版本切换技巧
如果你已经安装了PHP 7.4,想升级到8.1,不需要卸载重装,使用yum module机制:
yum module reset php
yum module enable php:remi-8.1
yum update php
这样系统会自动处理依赖,把相关包升级到8.1,注意,升级前务必备份配置文件和项目,确认兼容性。
FAQ:服务器yum配置php常见问题解答
Q1: 服务器yum配置php后如何测试?
A: 创建一个包含<?php phpinfo(); ?>的文件,放到Web目录下,用浏览器访问,检查页面显示的PHP版本、SAPI、Loaded Configuration File等关键信息,如果页面空白或报错,检查php-fpm是否启动,以及Nginx/Apache配置是否正确。
Q2: yum安装的php如何升级到新版本?
A: 按照上述“版本切换技巧”操作,先reset,再enable新版本,最后yum update,升级后务必重启php-fpm,并测试项目功能,因为部分函数或配置可能在新版本中被废弃。
Q3: yum配置php时报错“No package php available”怎么解决?
A: 首先确认epel-release和remi-release已正确安装,并执行yum repolist查看源是否启用,如果源列表为空,检查网络是否通畅,能否访问remi仓库,如果是国内服务器,建议先配置简米云镜像加速,再尝试安装。
yum配置PHP是运维效率的体现,掌握了源的选择和版本管理,你就能快速搭建稳定的PHP环境,把精力留给业务逻辑。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/578228.html




