在Linux操作系统下安装PHP 5.5版本,由于该版本已停止官方维护,现代Linux发行版的默认软件源通常已将其移除。核心上文归纳是:在Linux上安装PHP 5.5必须通过配置第三方软件源(如Remi或Webtatic)或采用源码编译的方式进行,同时需要严格解决旧版本依赖库与当前系统环境的兼容性问题,以确保Web服务的稳定运行。

环境准备与依赖分析
在进行PHP 5.5的安装之前,必须对Linux服务器环境进行严谨的评估,PHP 5.5主要运行于CentOS 7或更早的系统中,若在Ubuntu 20.04或CentOS 8及以上版本安装,将面临极大的glibc版本兼容性挑战。首要步骤是安装编译工具及基础依赖库,包括gcc、gcc-c++、make、libxml2-devel、libcurl-devel等,这些库是PHP能够正常解析HTTP请求和处理XML数据的基础,若采用源码编译安装,还需特别关注OpenSSL版本,因为PHP 5.5时代的OpenSSL配置参数与现代版本存在差异,错误的配置会导致编译失败或无法使用HTTPS功能。
使用YUM源安装(推荐CentOS 7环境)
对于CentOS 7用户,利用Remi仓库是最为高效且符合运维规范的解决方案,Remi仓库专门维护旧版本的PHP扩展,能够自动处理复杂的依赖关系。
需要安装EPEL(Extra Packages for Enterprise Linux)源,因为Remi依赖于EPEL:
yum install epel-release
随后,安装Remi源,在安装完成后,使用yum-config-manager工具启用PHP 5.5的专用通道:
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php55
这一步是整个安装过程的关键,它确保了后续的yum install php命令会直接拉取5.5版本而非系统默认的高版本,执行安装命令时,建议同时安装常用的扩展模块,如php-mysql、php-gd、php-mbstring和php-xml,以满足大多数CMS(如旧版WordPress或Dedecms)的需求,安装完成后,通过systemctl restart httpd或php-fpm重启服务,并使用php -v验证版本。

源码编译安装(高阶定制方案)
当需要定制PHP的核心功能,或者操作系统无法使用第三方仓库时,源码编译是唯一可行的路径,这种方法虽然繁琐,但能提供最高的控制权。
从PHP官方归档站下载php-5.5.38.tar.gz压缩包,解压后,进入目录执行./configure脚本。这里的配置参数决定了PHP的功能边界,一个典型的生产环境配置参数如下:
./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpmysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --enable-mbregex \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --enable-opcache \ --enable-intl
特别注意--with-mcrypt选项,在PHP 5.5中这是一个常用的加密库扩展,但在新系统中往往需要手动安装libmcrypt-devel才能通过编译,配置成功后,执行make和make install将二进制文件写入系统,编译安装后,需要手动复制php.ini-production到配置文件目录,并重命名为php.ini,还需配置PHP-FPM(FastCGI Process Manager),将php-fpm.conf.default复制并修改运行用户和组(通常设为nginx或apache),这是保证PHP能正确读写文件权限的必要条件。
安全配置与性能优化
鉴于PHP 5.5已不再接收安全补丁,在配置层面必须进行严格的加固,在php.ini中设置expose_php = Off,隐藏PHP版本信息,防止被扫描器探测,关闭危险函数,如exec、shell_exec、passthru等,除非业务逻辑绝对依赖它们,对于性能优化,虽然PHP 5.5没有JIT(即时编译),但开启Opcache缓存机制能显著提升代码执行效率,确保opcache.enable=1,并根据服务器内存大小合理设置opcache.memory_consumption。
Nginx与PHP 5.5的集成

在现代Web架构中,Nginx配合PHP-FPM是主流选择,配置Nginx时,需要在server块中正确设置SCRIPT_FILENAME。核心配置片段如下:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
这里必须确保fastcgi_pass的端口与PHP-FPM配置文件中的监听端口一致,若出现502 Bad Gateway错误,通常意味着PHP-FPM服务未启动或端口冲突,需重点排查/usr/local/php/var/run/php-fpm.pid文件是否存在。
相关问答模块
Q1:在安装PHP 5.5时提示“libmcrypt.h not found”错误,即使安装了libmcrypt-devel也无效,该如何解决?
A: 这是一个典型的依赖路径问题,在64位系统中,有时编译器无法自动找到头文件,解决方案是创建软链接,将/usr/include/libmcrypt链接到/usr/local/include,或者直接在./configure时指定--with-mcrypt=/usr路径,如果系统库确实缺失,可以尝试从源码编译安装libmcrypt,而非依赖yum源,以确保头文件正确部署。
Q2:PHP 5.5安装成功后,运行程序提示“mysql_connect(): This function is deprecated”,如何处理?
A: 这不是安装错误,而是PHP 5.5引入的废弃警告。mysql_*系列函数在PHP 7.0中被彻底移除,但在5.5中仅是废弃状态。专业的解决方案是修改代码,使用mysqli或PDO扩展进行数据库连接,如果暂时无法修改代码,可以在php.ini中设置error_reporting = E_ALL & ~E_DEPRECATED来屏蔽该警告,但这仅是权宜之计,长期来看必须迁移代码以符合现代数据库连接规范。
如果您在Linux环境下安装PHP 5.5的过程中遇到特定的依赖冲突或编译报错,欢迎在评论区留言,我们将为您提供针对性的技术排查方案。


















