ubuntu 系统(已安装服务器环境)使用宝塔 Linux 面板踩坑(二)
首先要明确一点,如果是服务器是空白环境,即在安装 bt 面板之前没有安装其他的服务软件,测试是没有出现启动需要依赖库的情况的。
在执行脚本安装了服务器环境之后,再去使用宝塔的安装脚本执行,最后执行是成功的。但在安装 nginx 和 php 的过程中出现了依赖库确实的情况,前一种安装 nginx 缺少 libpng12.so.0
之前已做过记录:ubuntu 系统(已安装服务器环境)使用宝塔 Linux 面板踩坑,还有 php: error while loading shared libraries: libwebp.so.6: cannot open shared object file: No such file or directory
。这个 libwebp.so.6
的依赖库在文章里也做了记录。
这次在启动 php 7.1 时碰到了一个新的 libcares.so.2
依赖库报失。百度找到一个教程 libcares.so.2: cannot open shared,是通过下载 rpm 包,之后转成 ubuntu 需要的 deb 包,再通过 dpkg 安装的(注意,指令是 dpkg)。这边做步骤的简单转载:
- 查找本地是否存在 libcares 库
find / -name '*libcares*'
注意,-name
后带 * 的字符串需要添加引号标识。如果本地存在可以跳过第二步。
- 下载、安装 libcares2
尝试使用 apt-get install libcares2
安装,失败,找不到这个安装包。
openuse 下载 rpm 包,选择 x86_64 版本:
wget https://download.opensuse.org/repositories/openSUSE:/Factory/standard/x86_64/libcares2-1.18.1-1.5.x86_64.rpm
rpm 包在 ubuntu 系统中无法直接使用,通过 alien 指令转化成 deb:
alien libcares2-1.18.1-1.5.x86_64.rpm
# 得到一个 libcares2_1.18.1-2.5_amd64.deb 文件
dpkg 安装 deb 包:
dpkg -i libcares2_1.18.1-2.5_amd64.deb
- 安装之后依然报错找不到这个依赖库
用步骤 1 里的查询指令可以看到依赖库的地址 /usr/lib64/libcares.so.2
。但此时这个 /usr/lib64/
并不在 php 可使用的包含路径里,需要添加:
# 将依赖库路径添加到文件末尾
echo "/usr/lib64" >> /etc/ld.so.conf
# 重新链接
ldconfig
# 查看新文件内容
cat /etc/ld.so.conf
可以看到路径已经添加到文件末尾,且 bt 面板重新启动 php 7.1 已经成功了。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。