解决报错.1.1: cannot open shared object file: No such file or directory
Linux运维 / 更新于 2020年8月25日 / 0 条评论
Centos7
默认提供的 openssl
版本是 1.0.2
的,某些 php 扩展或者其他软件依赖 1.1
以上版本
如果过低的话就会报错 .1.1: cannot open shared object file: No such file or directory
也有执行 openssl version
时报错和上面一致,这是由于 openssl 库的位置不正确或未安装 1.1
以上版本的问题
想要升级 openssl
版本则需要手动进行编译,报错解决方式很简单,安装正确即可,下面说一下我以 Centos7
为例,说一下具体的编译安装步骤
1. 下载 openssl
从 openssl 官网下载最新的代码包,因为源站下载速度过慢,所以我使用了腾讯云的镜像
#从官网下载
# wget /source/openssl-1.1.
#腾讯云提供的镜像
wget /openssl/source/openssl-1.1.
如果链接失效,请去掉文件名,直接访问链接获取最新的包链接
2. 编译 openssl
tar -xvf openssl-1.1.
cd openssl-1.1.1g
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install
编译完成后,使用 openssl version
来查看一下当前 openssl 版本号时,你会发现还是 1.0.2,所以这里需要做一些额外的配置工作
3. 配置
echo "/usr/local/lib64/" >> /etc/
ldconfig
再次使用 openssl version
验证版本就可以了,如果不行,可以尝试下面的方式,依次执行(先备份老版本,再从新版本安装位置创建软连接)
mv /usr/bin/openssl /usr/bin/
mv /usr/lib/openssl /usr/lib/
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/
ldconfig -v