宝塔安装ssh证书报错:/usr/bin/curl: symbol lookup error: curl_easy_header

原因:

  • 你当前的 curl 命令版本是 7.70.0(不是系统默认版本,应该是你手动安装的)。
  • 它链接的是 /usr/local/lib/libcurl.so.4,而不是 CentOS 系统默认的 /usr/lib64/libcurl.so.4
  • /usr/local/lib/libcurl.so.4 很可能是旧版本或错误编译的库,不包含 curl_easy_header 函数(该函数从 7.84.0 才开始支持)。

✅ 解决方案:彻底修复 curl 与 libcurl 的版本冲突

🔧 第一步:删除非系统版本的 libcurl 和 curl

sudo rm -f /usr/local/lib/libcurl*
sudo rm -f /usr/local/bin/curl

🔄 第二步:恢复系统默认版本(使用系统包管理器)

sudo yum remove curl libcurl -y
sudo yum install curl libcurl -y

🔁 第三步:更新系统动态链接库缓存

sudo ldconfig

✅ 第四步:验证修复是否成功

curl --version
ldd /usr/bin/curl | grep libcurl

确认:

  • curl 不再报错。
  • libcurl.so.4 链接的是 /usr/lib64/libcurl.so.4
  • curl 能正常工作,不再提示 symbol lookup error

🧠 说明

你的错误是因为:

/usr/local/lib/libcurl.so.4

覆盖了系统默认的链接库路径,导致 curl 调用了错误的版本。你删除 /usr/local/lib/libcurl.so.4 后,系统就会回退使用 /usr/lib64/libcurl.so.4,问题就能解决。


如想使用新版 curl(比如 7.88.0),推荐用独立安装路径(如 /opt/curl),并用环境变量加载,不要替换系统路径。

下面是一份一键修复 CentOS 系统中 curl 动态库冲突的 Shell 脚本,适用于你当前遇到的:

/usr/bin/curl: symbol lookup error: curl_easy_header


🛠️ 一键修复脚本:fix_curl.sh

#!/bin/bashecho "⚙️ 正在修复 curl 动态库冲突..."# 步骤 1: 删除 /usr/local 中的非系统 curl 安装
echo "🧹 清理 /usr/local 下的 curl 和 libcurl..."
sudo rm -f /usr/local/bin/curl
sudo rm -f /usr/local/lib/libcurl.so*
sudo rm -f /usr/local/lib64/libcurl.so*# 步骤 2: 卸载现有的 curl 和 libcurl
echo "🔄 卸载已安装的 curl 和 libcurl..."
sudo yum remove -y curl libcurl# 步骤 3: 重新安装系统默认版本的 curl 和 libcurl
echo "📦 安装系统兼容版本的 curl 和 libcurl..."
sudo yum install -y curl libcurl# 步骤 4: 更新链接库缓存
echo "🔁 更新系统动态库缓存..."
sudo ldconfig# 步骤 5: 显示结果
echo -e "\n✅ 修复完成!当前 curl 状态如下:"
curl --version
ldd /usr/bin/curl | grep libcurl

📦 使用方法:

  1. 保存脚本

    将上面内容保存为 fix_curl.sh 文件:

    nano fix_curl.sh
    # 粘贴脚本内容,保存退出
    
  2. 赋予执行权限并运行

    chmod +x fix_curl.sh
    sudo ./fix_curl.sh
    

✅ 成功执行后:

你应该看到输出中 curl 正常工作,且链接的是 /usr/lib64/libcurl.so.4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache SeaTunnel 引擎深度解析:原理、技术与高效实践

Apache SeaTunnel 作为新一代高性能分布式数据集成平台,其核心引擎设计融合了现代大数据处理架构的精髓。 Apache SeaTunnel引擎通过分布式架构革新、精细化资源控制及企业级可靠性设计,显著提升了数据集成管道的执行效率与运维体验。其模块化设计允许用…

测试用例及黑盒测试方法

一、测试用例 1.1 基本要素 测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等4个主要要素。 1.1.1 测试环境 定义:测试执行所需的软硬件…

硬件工程师笔记——运算放大电路Multisim电路仿真实验汇总

目录 1 运算放大电路基础 1.1 概述 1.1.1 基本结构 1.1.2 理想特性 1.2 运算放大分析方法 1.2.1 虚短 1.2.2虚断 1.2.3 叠加定理 2 同向比例运算放大电路 2.1 概述 2.1.1 基本电路结构 2.1.2 电路原理 2.2 仿真分析 2.2.1 电压增益 2.2.2 相位分析 3 反向比例运…

板凳-------Mysql cookbook学习 (九)

第4章:表管理 4.0 引言 MySQL :: 员工样例数据库 :: 3 安装 https://dev.mysql.com/doc/employee/en/employees-installation.html Employees 数据库与几种不同的 存储引擎,默认情况下启用 InnoDB 引擎。编…

MySQL省市区数据表

数据结构简单展示一下 具体的可以点击文章最后的链接地址下载 连接地址中有两个文件一个是详细的另一个是简洁的 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for ln_new_region -- ---------------------------- DROP…

无人机报警器探测模块技术解析!

一、运行方式 1. 频谱监测与信号识别 全频段扫描:模块实时扫描900MHz、1.5GHz、2.4GHz、5.8GHz等无人机常用频段,覆盖遥控、图传及GPS导航信号。 多路分集技术:采用多传感器阵列,通过信号加权合并提升信噪比,…

Oracle 导入导出 dmp 数据文件实战

一、DMP文件基础知识​​ 1. ​​DMP文件定义​​ DMP(Data Pump Dump File)是Oracle数据库专用的二进制格式文件,由expdp/impdp或旧版exp/imp工具生成。它包含数据库对象的元数据(表结构、索引等)和实际数据&#x…

Coursier:安装sbt

命令 ./cs launch sbt -- --version 的含义是​​通过 Coursier(cs)工具启动 SBT(Scala 构建工具),并查询其版本信息​​。具体解析如下: ​​1. 命令结构解析​​ ​​./cs​​: 这是 Coursie…

【深度学习】12. VIT与GPT 模型与语言生成:从 GPT-1 到 GPT4

VIT与GPT 模型与语言生成:从 GPT-1 到 GPT4 本教程将介绍 GPT 系列模型的发展历程、结构原理、训练方式以及人类反馈强化学习(RLHF)对生成对齐的改进。内容涵盖 GPT-1、GPT-2、GPT-3、GPT-3.5(InstructGPT)、ChatGPT …

项目更改权限后都被git标记为改变,怎么去除

❗问题描述: 当你修改了项目中的文件权限(如使用 chmod 改了可执行权限),Git 会把这些文件标记为“已更改”,即使内容并没有发生任何改变。 ✅ 解决方法: ✅ 方法一:告诉 Git 忽略权限变化&am…

openfeignFeign 客户端禁用 SSL

要针对特定的 Feign 客户端禁用 SSL 验证,可以通过自定义配置类实现。以下是完整解决方案: 1. 创建自定义配置类(禁用 SSL 验证) import feign.Client; import feign.httpclient.ApacheHttpClient; import org.apache.http.conn…

移动端 UI自动化测试学习之Appium框架(包含adb调试工具介绍)

文章目录 前言adb调试工具adb组成常用命令获取程序的包名和界面名文件传输发送文件到手机从手机中拉取文件 获取app启动时间获取手机日志其他命令 Appium 简介工作原理图 环境搭建安装客户端库(appium lib)安装Appium Server安装JDK(自行下载…

【论文解读】DETR: 用Transformer实现真正的End2End目标检测

1st authors: About me - Nicolas Carion‪Francisco Massa‬ - ‪Google Scholar‬ paper: [2005.12872] End-to-End Object Detection with Transformers ECCV 2020 code: facebookresearch/detr: End-to-End Object Detection with Transformers 1. 背景 目标检测&#…

性能测试-jmeter实战1

课程:B站大学 记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师 性能测试-jmeter实战1 为什么需要性能测试呢?性能测试的作用?性能测试体系性能测试基础性能测试工具性能监控…

HTML、XML、JSON 是什么?有什么区别?又是做什么的?

在学习前端开发或者理解互联网工作原理的过程中,我们经常会遇到三个非常重要的概念:HTML、XML 和 JSON。它们看起来有点像,但其实干的事情完全不同。 🏁 一、他们是谁?什么时候诞生的? 名称全称诞生时间谁…

HTML5 全面知识点总结

一、HTML 基础概念 HTML:超文本标记语言,用于创建网页和 Web 应用的结构。 超文本:可以包含文字、图片、音频、视频、链接等多种媒体。 标记语言:通过标签标记网页的各个部分。 二、HTML5 的新特性(区别于 HTML4&am…

记录一个难崩的bug

1.后端配置了 Filter 过滤器,如果再配置了Configuration ,那么会出现冲突吗? 过滤器与Configuration类本身无直接冲突,但需注意注册机制、执行顺序和依赖管理。通过显式控制过滤器的注册方式和优先级,结合Spring Security的链式配…

RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)

四、三者性能大比拼 4.1 吞吐量 吞吐量是衡量消息队列处理能力的重要指标,它反映了在单位时间内消息队列能够处理的消息数量。在这方面,Kafka 表现最为出色,其独特的设计使其能够轻松处理每秒数百万条消息 。Kafka 采用分布式架构和分区机制…

【C】箭头运算符

在C语言中,p_tone->power_off 是一种通过指针访问结构体成员的方法,称为箭头运算符(->)。它主要用于以下场景: 1. 语法解释 p_tone:是一个指向结构体(或联合体)的指针。powe…

【Unity】 HTFramework框架(六十六)缺省的运行时组件检视器

更新日期:2025年5月29日。 Github 仓库:https://github.com/SaiTingHu/HTFramework Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework 索引 一、缺省的运行时组件检视器1.自定义运行时组件检视器 二、使用缺省的运行时组件检视器1.定义组…