当前位置: 首页 > news >正文

linux php版本降级,dnf版本控制

下图是目前版本:8.0.30,版本过高会导致服务间兼容问题,我是为了解决和nginx的兼容问题不得已降低版本

降级后的版本:

以下是详细的步骤:

步骤 1: 安装 EPEL 和 Remi Repository

首先,您需要确保您的系统上已经安装了 EPEL(Extra Packages for Enterprise Linux)和 Remi 的仓库。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

启用低版本php7.4(如果没有7.4版本则执行上面第二行下载仓库)

sudo dnf module reset php    # 重置 PHP 模块以清除任何现有的设置
sudo dnf module enable php:remi-7.4    # 启用 PHP 7.4 模块

查看可以php版本列表

#查看可以php版本列表dnf module list php

步骤 2: 启用 PHP 7.4 模块

使用 DNF 模块命令启用 PHP 7.4。

sudo dnf module reset php    # 重置 PHP 模块以清除任何现有的设置
sudo dnf module enable php:remi-7.4    # 启用 PHP 7.4 模块


步骤 3: 安装 PHP 7.4 及其扩展


(1)卸载现有的 PHP 包: 如果需要强制卸载所有 PHP 相关的包,可以先列出它们然后逐一卸载,或者尝试以下命令来移除所有 PHP 包(注意这可能影响到依赖这些包的应用程序):

sudo dnf remove $(dnf repoquery --installed --whatrequires php-common)

(2)安装 PHP 7.4 及其扩展

sudo dnf install php php-cli php-common php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json

这将安装 PHP 7.4 和一些常用的扩展。根据您的需求,您可能还需要安装其他扩展。

(4)安装时如果没卸载干净会出现:

使用rpm 强制删除

sudo rpm -evh php-common

然后重新使用安装即可:

sudo dnf install php php-cli php-common php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json

步骤 4: 验证安装

php -v

步骤 5: 更新 Web 服务器配置

如果您正在使用 Nginx 或 Apache 等 Web 服务器,请确保它们配置为使用新安装的 PHP 7.4 版本。

 对于 Nginx + PHP-FPM:

确保 `/etc/php-fpm.d/www.conf` 中的监听地址和端口与 Nginx 配置中的 `fastcgi_pass` 相匹配,并重启服务:

sudo systemctl restart php-fpm
sudo systemctl restart nginx

 对于 Apache:

如果您使用的是 Apache 和 mod_php,请确保 Apache 使用新的 PHP 模块:

sudo systemctl restart httpd

 注意事项

- **备份重要数据**:在进行任何重大变更之前,请确保对重要数据进行了备份。
- **测试环境**:尽可能在一个测试环境中先进行操作,确认无误后再应用于生产环境。
- **依赖项**:降级 PHP 可能会影响依赖它的应用程序或服务,确保所有依赖项都与目标 PHP 版本兼容。

通过上述步骤,您应该能够成功地在 CentOS Stream 9 上安装并切换到 PHP 7.4 版本。如果遇到任何问题,请检查日志文件或错误信息以获取更多线索。

参考:通义千问AI

http://www.xdnf.cn/news/1270027.html

相关文章:

  • Amazon Linux 训练lora模型的方式
  • Web自动化技术选择
  • 回答“http协议 ,js组件化,工程化, seo优化策略 ,针对不同平台终端适配 web标注和兼容性”
  • 基于遗传优化的智能灌溉系统控制策略matlab仿真
  • Beelzebub靶机通关教程
  • 【工具】Python多环境管理
  • 【Java基础】字符串不可变性、string的intern原理
  • 【李宏毅-2024】第六讲 大语言模型的训练过程1——预训练(Pre-training)
  • 搭建若依前后端分离版本的开发环境
  • 鸿蒙分布式任务调度深度剖析:跨设备并行计算的最佳实践
  • 在nodejs中使用Java方法
  • windows、linux应急响应入侵排查
  • React中实现完整的登录鉴权与权限控制系统
  • 云服务器--阿里云OSS(2)【Springboot使用阿里云OSS】
  • 原生Vim操作大全
  • Python映射合并技术:多源数据集成的高级策略与工程实践
  • Jmeter性能测试之安装及启动Jmeter
  • [Oracle] TRUNC()函数
  • imx6ull-驱动开发篇15——linux自旋锁
  • OpenAI开源大模型 GPT-OSS 开放权重语言模型解析:技术特性、部署应用及产业影响
  • Ubuntu系统忘记密码怎么办?
  • 《TypeScript搭建的认知桥梁:游戏化学习应用的深层架构》
  • 数据结构(一)顺序表
  • CVPR中深度学习新范式:通用性、鲁棒性与多模态的创新突破
  • 【软考中级网络工程师】知识点之 RMON 技术深度剖析
  • dify离线插件安装
  • Android MediaMetadataRetriever取视频封面,Kotlin(1)
  • 密集遮挡场景识别率↑31%!陌讯轻量化部署方案在智慧零售的实战解析
  • 力扣(轮转数组)
  • Python基础教程(六)条件判断:引爆思维Python条件判断的九层境界