sqlite无需配置,是php内置的嵌入式数据库;确认phpinfo中pdo_sqlite和sqlite3启用,文件路径需正确且权限足够,推荐用sqlitestudio调试。

SQLite 不需要在 XAMPP 中“配置”
SQLite 是嵌入式数据库,不依赖独立服务进程,XAMPP 自带的 httpd(Apache)和 mysqld(MySQL)都跟它无关。你不需要启动任何 SQLite 服务,也不用修改 httpd.conf 或 php.ini 来“启用 SQLite”——PHP 自 5.0 起就默认内置了 PDO_SQLITE 和 SQLite3 扩展,只要没被手动禁用,开箱即用。
常见误操作包括:在 XAMPP 控制面板里找“SQLite 启动按钮”,或试图往 mysql 目录下放 .db 文件——这些都没意义。
确认 PHP 已加载 SQLite 扩展
打开 http://localhost/dashboard/phpinfo.php,搜索 sqlite,确认看到以下两项均存在且状态为 enabled:
-
PDO drivers行中包含sqlite -
sqlite3模块信息块(含版本号,如3.37.2)
如果缺失:
- 检查
php.ini(路径通常是XAMPPphpphp.ini)中是否误注释了extension=sqlite3或extension=pdo_sqlite(Windows 下是php_sqlite3.dll,Linux/macOS 下是sqlite3.so) - 改完后必须重启 Apache,否则不生效
- 注意:XAMPP 多版本共存时,
phpinfo()显示的Loaded Configuration File路径必须是你实际编辑的文件
在 PHP 中直接读写 .db 文件
SQLite 数据库就是一个普通文件(如 data.db),PHP 通过 SQLite3 类或 PDO 直接操作它。关键点在于文件路径和权限:
- 把
.db文件放在 Web 可访问目录外更安全(例如XAMPPhtdocsmyappdbdata.db可被直接下载;应放至XAMPPhtdocsmyappstoragedata.db并在.htaccess中禁止访问) - 确保 Apache 进程(Windows 下是
SYSTEM或当前用户,Linux/macOS 下常为daemon或www-data)对文件有读写权限;首次创建时若报unable to open database file,大概率是目录不可写 - 示例代码(使用原生
SQLite3):
<?php $db = new SQLite3('storage/data.db');
$db->exec('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)');
$db->exec("INSERT INTO users (name) VALUES ('Alice')");
$result = $db->query('SELECT * FROM users');
while ($row = $result->fetchArray()) {
echo $row['name'];
}
?>
用 SQLiteStudio 或 DB Browser 快速调试
开发时别靠 echo 查数据——直接用桌面工具可视化查看和修改 .db 文件。推荐两个免安装工具:
- SQLiteStudio(跨平台,界面清晰,支持语法高亮和表结构编辑)
- DB Browser for SQLite(开源老牌,轻量,适合快速查数据)
注意:.db 文件被 PHP 脚本以写模式打开时(如执行 INSERT),SQLiteStudio 可能提示“database is locked”。这不是错误,而是 SQLite 的 WAL 模式或写锁机制导致——关掉正在运行的 PHP 脚本,或等几秒再重试即可。
文件路径别写错:Windows 用户容易混淆反斜杠 和正斜杠 /,PHP 中统一用 / 或双反斜杠 \;相对路径基于脚本所在位置,不是 Apache 根目录。










