今天部署图床的时候发现啥都要升级,php还要更新。。。这版本要求太严格了,还不支持docker。。。只能一步一步来了。

耗时间最长的就是这个更新sqlite3,转载一下教程。

创建一个工作目录(可选)

1
2
mkdir sqlite3_upgrade
cd sqlite3_upgrade

下载源码包(大多发行版升级 sqlite3 都使用源码安装)

1
wget https://www.sqlite.org/2020/sqlite-autoconf-3320300.tar.gz

或者 wget https://docs.iterdaily.com/sqlite-autoconf-3320300.tar.gz

解压

1
tar -xf sqlite-autoconf-3320300.tar.gz

进入解压目录,编译安装

1
2
3
cd sqlite-autoconf-3320300
./configure --prefix=/usr/local
make && make install

替换系统低版本 sqlite3 启动文件

1
2
mv /usr/bin/sqlite3  /usr/bin/sqlite3_old
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

添加新版 sqlite3 动态链接库配置文件, 刷新动态链接库缓存

1
2
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig

如果添加的 library 不在 /lib 或 /usr/lib 下, 但是却没有权限操作写 /etc/ld.so.conf 文件的话, 这时就需要往 export 里写一个全局变量 LD_LIBRARY_PATH, 就可以了,

最后将这个 export 命令写到 bashrc 等配置文件中.

1
export LD_LIBRARY_PATH="/usr/local/lib"

查看新的 sqlite3 版本是否生效

1
2
sqlite3 -version
3.32.3