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

CentOS 7 系统下安装 OpenSSL 1.0.2k 依赖问题的处理

前面有提到过这个openssl的版本冲突问题,也是在这次恢复服务器时遇到的问题,我整理如下,供大家参考。小小一个软件的安装,挺坑的。

一、问题

项目运行环境需要,指定PHP7.0.9这个版本,但是‌系统版本与软件包冲突‌
当前系统安装的 epel-release 版本为 epel-release-8-21.el8,表明系统可能是 ‌CentOS 8/RHEL 8‌,而 openssl-1.0.2k-26.el7.x86_64 是 ‌CentOS 7 的软件包‌,导致 yum 仓库无法匹配‌。

‌OpenSSL 版本不可用:‌
版本 1.0.2k 属于较旧版本,CentOS 8 默认仓库已不包含此包,需通过特殊方式安装‌。


二、解决

方案 1:强制启用 CentOS 7 仓库(仅限兼容环境)

‌手动下载并安装 RPM 包‌

# 下载 CentOS 7 的 OpenSSL 包

wget https://vault.centos.org/7.9.2009/os/x86_64/Packages/openssl-1.0.2k-26.el7.x86_64.rpm

wget https://vault.centos.org/7.9.2009/os/x86_64/Packages/openssl-devel-1.0.2k-26.el7.x86_64.rpm

# 强制安装(可能引发依赖冲突)

sudo rpm -ivh --nodeps openssl-1.0.2k-26.el7.x86_64.rpm openssl-devel-1.0.2k-26.el7.x86_64.rpm

如果网上找不到免费的,就到CentOS-7-x86_64-Everything-2207-02.iso(实际就是你的安装光盘或者ios文件解压后) 的Packages目录下,一般都能找到!囧!!!

可能导致系统组件(如 yum、dnf)异常,需谨慎操作(原因是虽然你按照你的版本需要安装你需要的某个软件,但是这个软件会安装其他依赖库,而这些依赖库可能和你目前运行的一些软件所依赖的相同库产生版本依赖或者冲突)‌。

方案 2:通过源码编译安装 OpenSSL 1.0.2k(我通畅选择编译安装,因为预编译就会告诉你需要哪些依赖,具体的版本,能不能搞得定,在没有真正安装前不会对你的系统产生致命影响,大不了清理不装了,重新想其他办法,不会对你目前的环境造成不良影响。)

‌安装编译依赖‌

sudo yum install -y gcc make perl zlib-devel

‌下载并编译源码‌

wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz

tar -zxvf openssl-1.0.2k.tar.gzcd openssl-1.0.2k

预编译:

./config --prefix=/usr/local/openssl-1.0.2k

make && sudo make install

‌配置环境变量(一键三连顺手干)‌

echo 'export PATH=/usr/local/openssl-1.0.2k/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

echo '/usr/local/openssl-1.0.2k/lib'

sudo tee /etc/ld.so.conf.d/openssl-1.0.2k.conf

sudo ldconfig

‌验证‌:openssl version 应输出 1.0.2k‌。


三、PHP 7.0.9 的依赖处理

‌安装 Remi 仓库(一般个人会切到阿里那边)‌

sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

sudo yum-config-manager --enable remi-php70

‌安装 PHP 7.0 及相关扩展‌

sudo yum install -y php70 php70-php-devel php70-php-openssl

‌说明‌:通过 Remi 仓库可自动解决 OpenSSL 依赖‌。


PS:

‌系统版本确认‌:通过 cat /etc/redhat-release 确认系统版本,避免跨版本安装包‌。

‌依赖冲突处理‌:手动安装旧版 OpenSSL 可能导致系统工具链异常,建议优先使用 Remi 仓库安装 PHP 7.0‌。

OpenSSL 1.0.2k 已停止维护,尽快升级。

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

相关文章:

  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.1)
  • [Windows] 东芝存储诊断工具1.30.8920(20170601)
  • 【应急响应】- 日志流量如何分析?
  • 文本框碰撞测试
  • 基 LabVIEW 的多轴电机控制系统
  • element-ui时间线样式修改
  • vison transformer vit 论文阅读
  • 微软系统 红帽系统 网络故障排查:ping、traceroute、netstat
  • PDF文档解析新突破:图表识别、公式还原、手写字体处理,让AI真正读懂复杂文档!
  • 使用Python和OpenCV实现实时人脸检测与识别
  • C++ 观察者模式详解
  • 使用程序绘制中文字体——中文字体的参数化设计方案初探
  • 打造专属AI好友:小智AI聊天机器人详解
  • 【新品发布】VXI可重构信号处理系统模块系列
  • 麦科信获评CIAS2025金翎奖【半导体制造与封测领域优质供应商】
  • CI/CD面试题及答案
  • Android SDK
  • 记录一次使用thinkphp使用PhpSpreadsheet扩展导出数据,解决身份证号码等信息科学计数法问题处理
  • 【Linux操作系统】第一弹——Linux基础篇
  • 第8章-4 查询性能优化2
  • 学习threejs,使用Physijs物理引擎
  • 排序算法总结
  • AWS IoT Core与MSK跨账号集成:突破边界的IoT数据处理方案
  • docker常用命令总结
  • java学习笔记
  • 【Unity笔记】PathCreator使用教程:用PathCreator实现自定义轨迹动画与路径控制
  • 基于SSM实现的健身房系统功能实现八
  • STM32F103C8 AD采样
  • isp流程介绍(yuv格式阶段)
  • DeepInjectSQL - 基于 AI 生成对抗网络(GAN)的下一代 SQL 注入自动化漏洞猎手