centos YUM 升级或降级PHP

本文介绍了一种通过YUM方式在CentOS 6.x环境下升级或降级PHP的方法。主要步骤包括在实验机上下载所需的PHP安装包并上传至目标服务器,接着在目标服务器上替换原有PHP版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#=======================
#YUM 升级或降级PHP
#=======================
#思路:
#1)需要一台实验机,在实验机上下载好安装包,然后通过SCP命令上传到你要部署的机器。
#2)在部署的机器卸载PHP,然后再安装下载好的安装包。
#这样做的好处:
#1)试验机肯定是必须的,模拟环境,提前解决一些问题
#2)提前下载好安装包,可以减少在部署机器的升/降级时间。而且也能防止下载速度很慢时,漫长的等待,在生产环境这是很糟糕的情况


#=======================
#实验机
#=======================
#YUM换源,这个源只适合centos6.x
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
#删除PHP,先删除PHP会解决下载其他版本的PHP安装包的产生的冲突,例如mysql和mysqlnd,两个版本的common包
yum remove php*
#创建下载保存的目录
mkdir /yum_download
#只下载不安装(有同学可能问为什么不用yum -y install php56w*,因为php56w-mysql和php56w-mysqlnd扩展冲突了,新版本的PHP更推荐用mysqlnd)(
#教你个快捷得到符合YUM命名安装包字符格式的方法:
1)yum list php56w* 然后复制列出来的信息
2)在Notepad上新建一个文件粘贴进去,批量去掉安装包名之外的字符串
3)选择所有字符,使用编辑器的“编辑”-》“行操作”-》“合并行”
#)
yum install --downloadonly --downloaddir=/yum_download php56w php56w-bcmath php56w-cli php56w-common php56w-dba php56w-devel php56w-embedded php56w-enchant php56w-fpm php56w-gd php56w-imap php56w-interbase php56w-intl php56w-ldap php56w-mbstring php56w-mcrypt php56w-mssql php56w-mysqlnd php56w-odbc php56w-opcache php56w-pdo php56w-pear php56w-pecl-apcu php56w-pecl-apcu-devel php56w-pecl-gearman php56w-pecl-geoip php56w-pecl-igbinary php56w-pecl-igbinary-devel php56w-pecl-imagick php56w-pecl-imagick-devel php56w-pecl-memcache php56w-pecl-memcached php56w-pecl-mongodb php56w-pecl-redis php56w-pecl-xdebug php56w-pgsql php56w-phpdbg php56w-process php56w-pspell php56w-recode php56w-snmp php56w-soap php56w-tidy php56w-xml php56w-xmlrpc
#通过SCP命令上传到你要部署的机器
scp -r  /yum_download root@example.com:/
#=======================
#PHP升级的机器
#=======================
#yum换源,这个源只适合centos6.x
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
#
yum remove php*
#安装本地包
yum localinstall /yum_download/*
#查看PHP版本
php -v
#重启apache,看你的应用访问是否正常
service httpd restart
<think>好的,用户想在CentOS 7上安装PHP5,我需要仔细考虑这个问题。首先,CentOS 7默认的仓库可能已经不再提供PHP5了,因为PHP5已经过时,官方支持在2018年就结束了。但用户可能有遗留项目需要运行,所以需要找到方法安装。 我应该先检查默认仓库是否有PHP5的包。使用yum search php可能会显示可用的版本,但可能只有PHP7更高版本。如果默认仓库没有,用户可能需要添加第三方仓库,比如Remi仓库者Webtatic。但Remi通常提供较新的版本,而Webtatic可能有旧版本的支持。 另外,用户可能不知道使用PHP5的安全风险,比如漏洞和缺乏安全更新。我应该提醒用户这一点,建议升级PHP7更高版本,但如果必须使用PHP5,再继续指导安装步骤。 接下来,如果用户确定要安装,添加EPEL仓库可能是必要的,因为很多第三方仓库依赖它。然后添加Remi仓库,但需要确认Remi是否还维护PHP5的包。可能需要查找具体的仓库配置,比如Remi的旧版本存档。 安装时可能需要启用特定的仓库,比如remi-php56,但这是PHP5.6,可能不完全兼容用户的需求。如果用户确实需要更旧的版本,比如PHP5.35.4,可能需要其他方法,比如手动编译者找其他第三方仓库。 手动编译的步骤复杂,需要安装开发工具和依赖库,下载PHP5的源代码,配置、编译和安装。这可能会遇到依赖问题,尤其是旧版本的库在CentOS 7上可能已被更新移除,导致编译错误。同时,手动安装后维护困难,无法通过包管理器更新。 还要提醒用户配置PHP,比如修改php.ini文件,以及安装后测试PHP是否正常工作,比如创建一个phpinfo页面并通过浏览器访问。同时,安装常用的扩展如mysql、gd等,可能需要额外的步骤,比如使用yum安装php-mysql等。 安全方面,建议用户将PHP应用隔离,使用受限权限,定期备份,并监控安全漏洞。最后再次强调升级到受支持版本的重要性,避免潜在的安全风险。 总结步骤应该是:添加EPEL和Remi仓库,启用PHP5的仓库,安装PHP5及相关扩展,配置和测试。同时提供备选方案如手动编译,但强调其复杂性和风险。最后给出注意事项和安全建议。</think>在CentOS 7系统上安装PHP5需要注意:PHP5官方已于2018年终止支持,存在严重安全隐患。推荐使用PHP7+版本,若必须安装PHP5,以下是两种实现方案: --- ### 方案一:通过第三方仓库安装(推荐) 1. **安装EPEL仓库** ```bash sudo yum install epel-release ``` 2. **添加Remi仓库** ```bash sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm ``` 3. **启用PHP5.6仓库(PHP5的最新子版本)** ```bash sudo yum-config-manager --enable remi-php56 ``` 4. **安装PHP及常用扩展** ```bash sudo yum install php php-mysql php-gd php-mbstring ``` 5. **验证安装** ```bash php -v # 应显示PHP 5.6.x版本 ``` --- ### 方案二:手动编译安装(兼容旧版本) ```bash # 安装依赖 sudo yum groupinstall "Development Tools" sudo yum install libxml2-devel openssl-devel curl-devel # 下载PHP5源码(以5.6.40为例) wget https://www.php.net/distributions/php-5.6.40.tar.gz tar xzf php-5.6.40.tar.gz cd php-5.6.40 # 编译配置 ./configure --prefix=/usr/local/php5 \ --with-config-file-path=/etc \ --enable-mbstring \ --with-openssl \ --with-mysql # 编译安装 make && sudo make install # 创建配置文件 sudo cp php.ini-development /etc/php.ini ``` --- ### 注意事项 1. **安全警告** - PHP5已无安全更新,暴露在公网将面临漏洞风险 - 建议仅用于内网测试/旧系统迁移过渡 2. **兼容性问题** - 新版本MySQL/MariaDB与PHP5存在兼容性问题 - 需降级数据库使用`mysqlnd`驱动 3. **扩展管理** ```bash # 查看可用扩展 yum list available php-* # 示例安装扩展 sudo yum install php-xml php-pdo ``` --- ### 推荐替代方案 强烈建议通过以下方式使用新版PHP: ```bash # 安装PHP7.4(仍受安全支持) sudo yum install -y php74-php php74-php-mysqlnd # 设置默认PHP版本 sudo ln -sf /opt/remi/php74/root/usr/bin/php /usr/bin/php ``` 建议在容器化环境(如Docker)中运行遗留PHP5应用,实现环境隔离与安全控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值