小樱 发表于 2024/12/24 02:34

Linux centos编译安装php7.4要求sqlite 3.7.4和oniguruma(mbregex) 环境变量.pc文件未找到修复libzip

Linux centos编译安装php7.4要求sqlite 3.7.4和oniguruma(mbregex) 环境变量.pc文件未找到修复libzip

系统自带的版本为
sqlite-devel-3.6.20-1.el6_7.2.x86_64

卸载系统自带的v3.6.20版本
yum -y remove sqlite-devel

安装v3.47.2版本
wget https://www.sqlite.org/2024/sqlite-autoconf-3470200.tar.gz
tar -zxvf sqlite-autoconf-3470200.tar.gz
cd sqlite-autoconf-3470200
./configure
make -j 4
make install
ln -s /usr/local/lib/pkgconfig/sqlite3.pc /usr/lib64/pkgconfig/sqlite3.pc
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig -v

检查版本
sqlite3 -version
3.47.2 2024-12-07 20:39:59 2aabe05e2e8cae4847a802ee2daddc1d7413d8fc560254d93ee3e72c14685b6c (64-bit)

如果你用的不是本站教程安装的sqlite3,那么会缺少sqlite3.pc软链接,自己编译php7.4之前运行一下环境变量,当前ssh窗口临时有效,论坛教程提供的安装方式无需做这一步操作
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

php7.4还需要oniguruma,但是安装后并不认,尝试各种方法链接到.h文件都不行,所以可以在编译选项里禁用,在--enable-mbstring的前面增加--disable-mbregex
参考文档:https://www.php.net/manual/zh/mbstring.installation.php

gd库和libzip也发生了改变,--with-gd 改变为 --enable-gd,--enable-zip 改变为 --with-zip
https://www.php.net/manual/zh/migration74.other-changes.php

libzip也有sqlite3相同的问题,运行命令一键修复就好啦
ln -s /usr/local/lib/pkgconfig/libzip.pc /usr/lib64/pkgconfig/libzip.pc

如果遇到openssl错误
https://bbs.itzmx.com/thread-111124-1-1.html
页: [1]
查看完整版本: Linux centos编译安装php7.4要求sqlite 3.7.4和oniguruma(mbregex) 环境变量.pc文件未找到修复libzip