yum安装php和php扩展
在CentOS7上搭建Nginx+PHP环境时,需先配置官方源安装Nginx,再安装EPEL和Webtatic源。由于PHP7.1官方源缺少memcache扩展,因此卸载php71w系列,降级安装php56w系列,并配置PHP-FPM运行用户为nginx。最终根据业务需求选择合适的PHP版本,此过程解决了扩展兼容性问题,确保了环境稳定运行。
报错背景:

先交代一下环境:在 CentOS 7 上搭建 Nginx + PHP 环境,结果踩了个小坑——PHP 7.1 版本缺少 memcache 扩展,最终回退到 PHP 5.6 才搞定。整个过程其实挺典型的,这里把步骤拆开说说,方便后来人少走弯路。
安装 Nginx
先用 yum 方式装 Nginx,需要先配好官方源。创建 repo 文件:
[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
写入以下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
保存后直接安装:
[root@nginx ~]# yum install nginx -y
处理 PHP 版本
系统自带的 PHP 5.4 版本太老,先卸掉它和相关的扩展包:
[root@nginx ~]# yum remove php-mysql-5.4 php php-fpm php-common
接着安装 EPEL 和 Webtatic 扩展源,这两个源里才有新版本的 PHP 包:
[root@nginx ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@nginx ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
然后安装 PHP 7.1(注意这里用的是 php56w 系列,但实际版本号是 7.1?不对,这里要说明一下:当时我们计划装的是 PHP 7.1,但源里 7.1 的包名是 php71w,而这里写的是 php56w,其实是笔误?还是故意用 5.6?往下看就明白了)。
先按原始记录执行安装命令:
[root@nginx ~]# yum -y install php56w php56w-cli php56w-common php56w-devel \
php56w-embedded php56w-gd php56w-mcrypt php56w-mbstring php56w-pdo php56w-xml php56w-fpm \
php56w-mysqlnd php56w-opcache php56w-pecl-memcached php56w-pecl-redis php56w-pecl-mongodb php56w-pecl-memcache
然后替换 PHP-FPM 的运行用户和组,跟 Nginx 保持一致:
[root@nginx ~]# sed -i '/^user/c user = nginx' /etc/php-fpm.d/www.conf
[root@nginx ~]# sed -i '/^group/c group = nginx' /etc/php-fpm.d/www.conf
启动服务并设置开机自启:
[root@nginx ~]# systemctl start nginx php-fpm
[root@nginx ~]# systemctl enable nginx php-fpm
踩坑与回退
到这里发现一个问题:php71 版本的扩展包里没有 memcache 扩展(注意,php71 是指 PHP 7.1 系列,而上面安装的 php56w 其实是 5.6 系列,这里前后矛盾?实际上原始记录是:先尝试装 php71w,发现缺 memcache,于是卸掉 php71w 改装 php56w。所以正确的顺序应该是:
先卸载 php71w:
yum -y remove php71w php71w-cli php71w-common php71w-devel \
php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm \
php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
然后再安装 php56w 版本(就是上面那条命令,注意 php56w 系列包含 memcache 扩展):
yum -y install php56w php56w-cli php56w-common php56w-devel \
php56w-embedded php56w-gd php56w-mcrypt php56w-mbstring php56w-pdo php56w-xml php56w-fpm \
php56w-mysqlnd php56w-opcache php56w-pecl-memcached php56w-pecl-redis php56w-pecl-mongodb php56w-pecl-memcache
最后的选择
如果业务上不需要 php-memcache 这个扩展,用 PHP 7.1 其实更合适,性能和安全性都更好。但如果你正好需要 memcache,那就只能退回到 PHP 5.6 了。这个取舍,看具体需求。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















