已解决---根据报错信息主要集中在/usr/bin/curl报错,主要解决curl问题
- 终端通过重新安装
curl---(
修复可能的损坏或不兼容问题)
sudo apt-get update
sudo apt-get install --reinstall curl libcurl4
- 检查
libcurl
版本---(确保系统上安装的libcurl
版本与curl
兼容)
dpkg -l | grep libcurl
- 根据需要更新或修复相关库
sudo apt-get update
sudo apt-get install libcurl4
- 清理和更新库缓存
sudo ldconfig
- 如果还未修复---检查是否有多个
curl
版本----主要思路即(删除冲突的curl
安装-- 确保libcurl
版本匹配--- 更新curl
版本)
whereis curl
whereis libcurl
- 确认和移除非标准路径的
curl--(例如执行
whereis curl curl:有 /usr/bin/curl /usr/local/bin/curl /usr/include/curl /usr/local/curl /usr/shar)
/usr/bin/curl --version
/usr/local/bin/curl --version
- 删除非标准路径的
curl---(例如执行
/usr/bin/curl --version /usr/bin/curl: symbol lookup error: /usr/bin/curl: undefined symbol: curl_easy_header)
sudo rm /usr/local/bin/curl
- 备份现有
curl
sudo mv /usr/bin/curl /usr/bin/curl.bak
- 重新创建符号链接或者直接复制
sudo ln -s /usr/local/bin/curl /usr/bin/curl
sudo cp /usr/local/bin/curl /usr/bin/curl
- 查找
libcurl
文件
sudo find / -name 'libcurl*'
- 清理和重新安装
libcurl---(
如果发现有版本不匹配的情况,可以考虑重新安装libcurl)
sudo yum remove libcurl
sudo yum install libcurl
- 刷新库缓存
sudo ldconfig
- 如果执行sudo find / -name 'libcurl*'命令之后发现有很多libcurl版本---查看每个
libcurl
版本的详细信息
strings /usr/lib64/libcurl.so.4 | grep "libcurl"
strings /usr/local/lib/libcurl.so.4 | grep "libcurl"
strings /usr/local/curl/lib/libcurl.so.4 | grep "libcurl"
-
决定保留和删除哪些版本---根据您的需求决定保留哪个版本的
libcurl
。一般来说,建议保留系统默认路径下的版本/usr/lib64/
,如果没有特别的理由需要手动安装的版本。 -
删除不必要的版本--例xx--在刷新库缓存
sudo rm /usr/local/lib/libcurl.so.4*
sudo rm /usr/local/lib/libcurl.a
sudo rm /usr/local/lib/libcurl.la
sudo rm /usr/local/curl/lib/libcurl.so.4*
sudo rm /usr/local/curl/lib/libcurl.a
sudo rm /usr/local/curl/lib/libcurl.la
- 验证
curl
版本
ldd $(which curl) | grep libcurl
同时注意:
- 如果是多个网站使用解析的多个域名时,注意记录值的不同;一般记录值为宝塔的ip