在Linux环境下安装PHP 5.5,由于该版本早已停止官方维护(EOL),直接使用系统默认的包管理器(如yum或apt)往往无法直接安装,或者会面临严重的依赖库缺失与版本冲突问题。针对这一现状,最专业且稳定的解决方案是:对于CentOS/RedHat系列系统,优先采用Remi第三方仓库进行安装;对于Ubuntu/Debian系统或需要特定定制的环境,建议采用Docker容器化部署或从源码编译安装。 这种分层处理策略既能解决依赖地狱问题,又能确保生产环境的安全性隔离。

以下将针对不同的业务场景,详细展开这三种核心安装方案的具体实施步骤与配置细节。
CentOS/RedHat系列:使用Remi仓库快速安装
对于仍在使用CentOS 7或更早版本的企业服务器,利用Remi仓库是安装PHP 5.5最高效的方法,Remi仓库提供了经过良好测试的RPM包,解决了复杂的依赖关系。
需要安装EPEL(Extra Packages for Enterprise Linux)仓库作为基础依赖源,执行以下命令:
yum install epel-release
导入Remi仓库的GPG密钥并安装Remi-release包,这一步至关重要,它确保了软件包的来源可信度:
rpm -Uvh https://rpms.fedoraject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装完成后,需要启用PHP 5.5的特定仓库模块,使用yum-config-manager工具可以轻松切换版本:
yum-config-manager --enable remi-php55
系统已准备就绪,执行核心安装命令,建议同时安装常用的扩展模块,如MySQL连接、GD图形库、MBString字符串处理等,以满足大多数Web应用的需求:
yum install php php-cli php-fpm php-common php-mysql php-gd php-mbstring php-mcrypt php-xml php-opcache
安装完成后,通过php -v命令验证版本,若需配置PHP,主要配置文件位于/etc/php.ini,而PHP-FPM的配置文件则位于/etc/php-fpm.d/www.conf。在生产环境中,务必修改www.conf中的user和group参数为nginx或apache,以确保Web服务器拥有正确的读写权限。
通用Linux环境:源码编译安装(深度定制方案)
当系统版本较新(如CentOS 8、Ubuntu 20.04+)无法使用Remi,或者需要特定扩展参数时,源码编译是唯一可行的路径,虽然过程繁琐,但能获得最大的控制权。
安装编译依赖
编译前必须安装基础开发工具和依赖库,以CentOS为例:

yum groupinstall "Development Tools" yum install libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel openldap-devel mcrypt-devel
下载与解压
从PHP官方归档站下载5.5版本的源码包:
wget https://www.php.net/distributions/php-5.5.38.tar.gz tar -zxvf php-5.5.38.tar.gz cd php-5.5.38
预编译与配置
这是最关键的一步。./configure脚本决定了PHP的功能模块,以下是一个包含常用功能的配置示例:
./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-gd \ --with-iconv \ --with-zlib \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --with-openssl \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-curl
注意: 如果在执行过程中报错提示缺少某个库,需根据错误信息安装对应的-devel包,然后重新运行configure。
编译与安装
配置成功后,执行编译命令:
make && make install
编译过程耗时取决于服务器性能,安装完成后,需要复制配置文件模板:
cp php.ini-development /usr/local/php/etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm
将PHP加入系统服务并启动:
chkconfig --add php-fpm chkconfig php-fpm on service php-fpm start
现代化部署:Docker容器化方案
为了不污染宿主机环境,强烈建议在维护老旧项目时使用Docker运行PHP 5.5,这种方法完美解决了新旧库共存的问题。
创建一个Dockerfile,基于官方旧版本镜像:
FROM php:5.5-fpm # 安装常用扩展 RUN docker-php-ext-install mysql mysqli gd mbstring pdo pdo_mysql
构建并运行容器:

docker build -t my-php55 . docker run -d -p 9000:9000 -v /www/wwwroot:/var/www/html my-php55
通过这种方式,宿主机可以运行最新的PHP 8.x,而容器内隔离运行PHP 5.5,互不干扰,是目前最为灵活和专业的解决方案。
常见问题与核心配置优化
在安装过程中,开发者常遇到mcrypt扩展缺失的问题,由于PHP 7.2后移除了mcrypt,现代Linux发行版默认不再包含该库,在PHP 5.5源码编译时,如果需要mcrypt,必须先手动安装libmcrypt-devel,并在configure参数中加入--with-mcrypt。
性能优化方面,PHP 5.5默认内置了OPcache,在php.ini中,务必开启OPcache并配置合适的内存大小:
opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60
这能显著提升老旧PHP应用的运行效率,减少CPU占用。
相关问答
Q1: 在安装PHP 5.5时,执行configure报错“Cannot find OpenSSL’s libraries”怎么办?
A: 这是因为系统缺少OpenSSL开发包,在CentOS下执行yum install openssl-devel,在Ubuntu/Debian下执行apt-get install libssl-dev即可解决,安装完成后,建议清理一下之前的编译缓存(make clean),重新运行configure命令。
Q2: 为什么不建议直接使用系统自带的yum install php安装PHP 5.5?
A: 因为大多数现代Linux发行版的默认源已经移除了PHP 5.5软件包,或者默认指向了PHP 7.x/8.x版本,直接安装会导致版本不匹配或无法找到包,使用Remi仓库或源码编译能精准控制版本,避免破坏系统的依赖环境。
希望以上方案能帮助您顺利完成PHP 5.5的部署,如果您在安装过程中遇到特定的报错信息,欢迎在评论区留言,我们将为您提供具体的排查思路。


















