报错:error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
情况说明
1、多发于centos 8系统,以前php用的centos 7,放到8运行报错这个
2、你遇到的错误是因为缺少共享库 libcrypto.so.10。这是 OpenSSL 的一部分,它在运行时提供加密功能。libcrypto.so.10 可能是一个较老版本的 OpenSSL 库,而centos 8比较新甚至可能没有这个文件
3、执行命令ll /usr/lib64/libcrypto.so.10
会报错
执行情况
[root@ecs_1019080 ~]# ll /usr/lib64/libcrypto.so.10
ls: cannot access '/usr/lib64/libcrypto.so.10': No such file or directory
[root@ecs_1019080 ~]#
参考资料
https://www.bilibili.com/opus/825928881114447878
https://blog.csdn.net/tcmmx1993/article/details/113243114
(两者结合的,不要全部照抄)
解决办法
1、到centos 7的机器复制正常的文件
- 宝塔进入/usr/lib64/搜分别搜索libcrypto.so.10和libssl.so.10即可
- 然后用宝塔的分享功能,创建分享
2、放到新服务器centos 8机器
- 再远程下载到目标服务器的某一个文件夹,剪切过去
3、在机器上创建软链接文件
ln -s libssl.so.1.0.0 libssl.so.10
ln -s libcrypto.so.1.0.0 libcrypto.so.10
下面如图才是正常的centos 机器的样子,左边是文件的链接文件名,右边是真实文件名
说明:
在提供的命令 ln -s libssl.so.1.0.0 libssl.so.10
中,libssl.so.1.0.0
是文件的真实名字。
解释:
ln -s
命令是用来创建软链接(符号链接)的。- 软链接有两个部分:
- 目标文件(真实文件):这是你希望链接指向的文件。
- 链接文件:这是你创建的软链接的名字,它指向目标文件。
在你的命令中:
libssl.so.1.0.0
是目标文件,即真实的文件名。libssl.so.10
是软链接的名字,指向libssl.so.1.0.0
。
因此,软链接 libssl.so.10
实际上是指向 libssl.so.1.0.0
这个真实文件的。