在Amazon EC2服务器安装PHP 5.6遇问题:始终安装PHP 5.4
解决CentOS 7 EC2服务器安装PHP 5.6而非5.4的问题
第一步:清理现有PHP包
先把自动安装的PHP 5.4及相关组件彻底卸载,避免版本冲突:
yum remove -y php* yum clean all yum makecache
第二步:配置正确的软件源
CentOS 7默认yum源仅提供PHP 5.4,必须使用remi源获取PHP 5.6,步骤如下:
- 安装epel和remi基础源:
yum install -y epel-release yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- 安装yum仓库管理工具:
yum install -y yum-utils
- 明确启用remi仓库下的PHP 5.6分支(这是解决版本错误的关键步骤):
yum-config-manager --enable remi-php56
第三步:安装PHP 5.6及扩展
此时直接安装PHP,会默认从remi-php56仓库拉取5.6版本:
yum install -y php php-cli php-fpm php-mysql php-gd php-mbstring php-xml
安装完成后验证版本:
php -v
如果版本仍不对,执行yum repolist enabled | grep php,确认输出里只有remi-php56相关的PHP仓库,没有其他提供PHP 5.4的仓库。
第四步:适配Nginx配置
安装完成后配置PHP-FPM配合Nginx工作:
- 启动并设置开机自启:
systemctl start php-fpm systemctl enable php-fpm
- 修改Nginx站点配置(示例路径
/etc/nginx/conf.d/default.conf),添加PHP请求转发规则:
location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
- 重启Nginx生效:
systemctl restart nginx
排查要点
- 若仍安装5.4,检查所有启用的yum源,禁用其他包含PHP的仓库(比如base源里的PHP模块)。
- 执行
yum info php查看可安装版本,确认remi-php56仓库的版本为5.6。
内容的提问来源于stack exchange,提问作者MUHAMMAD ZAIN
相关产品推荐
相关产品推荐

