You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04源码编译PHP8.0.19提示未找到sqlite3包如何解决

问题说明
  • 运行环境:Ubuntu 22.04 LTS
  • 操作目标:源码编译安装PHP 8.0.19
  • 故障现象:
    1. 执行./configure时抛出依赖错误,提示找不到版本高于3.7.4的sqlite3
    2. 执行sqlite3 --version确认系统已安装3.37.2版本sqlite3,满足版本要求
    3. 尝试添加--without-sqlite3参数重新配置、通过apt重装sqlite3、自行编译高版本sqlite3均无法解决问题

报错核心信息如下:

checking for sqlite3 > 3.7.4... no
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:

No package 'sqlite3' found
故障原因
  1. apt源里的sqlite3包只包含命令行客户端程序,编译软件依赖的C头文件、pkg-config配置文件属于libsqlite3-dev开发包,默认不会随命令行工具安装,所以编译检测脚本找不到对应的依赖配置。
  2. --without-sqlite3参数仅能禁用PHP原生的sqlite3扩展,PHP默认开启的pdo_sqlite扩展同样依赖sqlite3库,只禁用前者依然会触发依赖检测报错。
  3. 自行编译sqlite3后依然报错,是因为编译安装的路径不在系统默认的库/配置文件搜索路径下,也没有手动指定搜索路径,检测脚本仍然找不到依赖。
解决方法

三种方案选其一即可,优先选第一种。

方案1:安装系统源的sqlite3开发包(最推荐)

直接执行命令安装缺失的开发依赖:

sudo apt update
sudo apt install -y libsqlite3-dev

安装完成后清理之前的配置缓存,重新执行配置命令即可:

rm -f config.cache
./configure # 追加你原本需要的其他编译参数

该方案使用官方源适配的版本,和系统兼容性最好,无版本冲突风险。

方案2:彻底禁用所有sqlite相关扩展

如果完全不需要使用sqlite相关能力,配置时同时禁用两个sqlite相关扩展即可跳过依赖检测:

./configure --without-sqlite3 --without-pdo-sqlite # 追加你原本需要的其他编译参数

注意两个参数必须同时添加,缺一个都会触发对应扩展的依赖检测。

方案3:适配自行编译的sqlite3版本

如果必须使用自己编译的高版本sqlite3,需要在配置PHP前先指定环境变量,告诉编译脚本sqlite3的安装位置。
假设你自行编译的sqlite3安装在/usr/local/sqlite3路径下,先执行以下命令配置环境变量:

export PKG_CONFIG_PATH=/usr/local/sqlite3/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/sqlite3/lib:$LD_LIBRARY_PATH

再执行PHP的configure命令即可,注意将路径替换为你实际的sqlite3安装路径。


内容的提问来源于stack exchange,提问作者Black

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 04:21:40