CentOS 6.5 安装 PHP 实践与要点
在 CentOS 6.5 环境下部署 PHP 需要特别注意其较老的内核版本和软件仓库限制,虽然官方支持早已结束,理解其安装过程仍有实际意义,以下是基于实践的操作指南:
核心思路:利用 EPEL 与 IUS 仓库获取较新 PHP

CentOS 6.5 默认仓库仅提供 PHP 5.3(已严重过时且不安全),我们需借助第三方仓库:
准备系统环境
yum -y update yum -y install wget
添加 EPEL 仓库 (基础依赖)
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh epel-release-latest-6.noarch.rpm
添加 IUS 仓库 (提供较新 PHP 版本)
wget https://repo.ius.io/ius-release-el6.rpm rpm -Uvh ius-release-el6.rpm
安装 PHP 5.6 (推荐版本)
yum --enablerepo=ius -y install php56u php56u-cli php56u-fpm php56u-common php56u-mysqlnd php56u-pdo php56u-gd php56u-mbstring php56u-xml
php56u: 核心包php56u-fpm: PHP FastCGI 进程管理器 (搭配 Nginx 常用)php56u-mysqlnd: MySQL 原生驱动php56u-gd: 图形处理库php56u-mbstring: 多字节字符串支持php56u-xml: XML 处理
验证安装

php -v
预期输出类似:
PHP 5.6.40 (cli) ...基础配置
- 主配置文件:
/etc/php.ini - 如需调整内存限制、上传文件大小、时区等:
memory_limit = 128M upload_max_filesize = 64M post_max_size = 64M date.timezone = Asia/Shanghai
- PHP-FPM 配置 (如安装):
/etc/php-fpm.conf及其conf.d目录下的www.conf,确保监听设置正确(如listen = 127.0.0.1:9000)。
- 主配置文件:
启动服务 (PHP-FPM)
service php-fpm start chkconfig php-fpm on
关键注意事项与优化建议
- 安全是首要考量: PHP 5.6 官方安全支持已于 2019 年 1 月终止。强烈不建议在生产环境使用 CentOS 6.5 + PHP 5.6 组合处理敏感数据或面向公网的重要服务,缺乏安全更新意味着已知漏洞无法修补,风险极高。
- 防火墙设置: 如服务器开启防火墙 (
iptables),确保允许 Web 服务端口(80/443)和 PHP-FPM 监听端口(如 9000,若配置为 TCP 方式)的通信。 - SELinux 影响: 如启用 SELinux,PHP 进程访问文件或网络资源可能受限,可使用
setsebool调整策略或audit2allow生成模块,生产环境需谨慎评估策略。 - 性能微调: 在
/etc/php.ini和 PHP-FPM 池配置 (www.conf) 中:- 调整
pm(进程管理器模式)、pm.max_children、pm.start_servers等参数以适应服务器内存。 - 优化
opcache配置 (如启用并调整opcache.memory_consumption) 可显著提升脚本执行速度。
- 调整
- 模块管理: 使用
yum --enablerepo=ius search php56u-查找其他可用模块,按需安装(如php56u-curl,php56u-zip)。 - Web 服务器集成:
- Apache: 通常安装
php56u包后会自动配置好mod_php,重启 Apache (service httpd restart)。 - Nginx: 需配置
fastcgi_pass指向 PHP-FPM 的监听地址 (如0.0.1:9000),Nginx 本身通过yum install nginx(可能需 EPEL) 安装。
- Apache: 通常安装
常见问题处理
- 依赖冲突: 安装时若提示与其他包冲突,可能是旧版 PHP 残留或冲突仓库,尝试
yum remove php*(谨慎操作) 清除旧包,或使用yum --disablerepo=base,updates ...临时禁用某些仓库。 - PHP-FPM 无法启动: 检查
/var/log/php-fpm/error.log,常见原因包括配置文件语法错误、监听端口冲突、或权限问题。 - 页面显示 PHP 代码: 通常是 Web 服务器未正确解析 PHP 文件,检查 Apache 的
AddType application/x-httpd-php .php或 Nginx 的fastcgi_pass配置是否正确加载。
重要观点

虽然本文详细介绍了 CentOS 6.5 安装 PHP 5.6 的方法,但必须清醒认识到,运行一个早已结束生命周期、不再接收任何安全更新的操作系统和软件栈,等同于将服务器置于巨大的风险敞口之下,现代网络威胁层出不穷,依赖过时且存在已知漏洞的系统组件绝非明智之举,对于任何仍在运行 CentOS 6.x 的环境,最负责任且紧迫的行动应是制定并执行系统升级或迁移计划,转向受支持的 CentOS 版本分支或兼容替代发行版,持续的安全维护是线上服务稳定运行的基石,不容妥协。
操作需谨慎,迁移才是长久之计。
