商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > XAMPP如何开启sqlite3扩展 XAMPP使用轻量级数据库

XAMPP如何开启sqlite3扩展 XAMPP使用轻量级数据库

  发布于2026-07-08 阅读(0)

扫一扫,手机访问

不少人在XAMPP里折腾SQLite时,都卡在同一个地方:扩展明明内置了,可代码一跑就报错。问题多半出在Windows环境下没手动启用那两个DLL文件。说白了,new SQLite3()PDO("sqlite:...")要是报“class not found”或“could not find driver”,十有八九是扩展没加载上。

确认php.ini是当前生效的配置文件

很多人改了错的php.ini——XAMPP里可能有多个,带-dist后缀的是模板,无后缀的才是运行时加载的。最可靠的方式是:在Web目录下建一个info.php,内容写;浏览器访问http://localhost/info.php;搜索“Loaded Configuration File”,看到的路径就是你要编辑的那个php.ini

启用sqlite3和pdo_sqlite扩展(Windows XAMPP)

打开上一步确认的php.ini,查找并取消这三行的注释(删掉开头的分号;):

extension=php_sqlite3.dllextension=php_pdo_sqlite.dllextension=sqlite3

需要注意的是,extension=sqlite3这行在较新XAMPP(如v3.3.x)中可能不存在,也不需要补;重点是前两行。如果只开php_sqlite3.dll而没开php_pdo_sqlite.dll,PDO方式就会报“could not find driver”。改完保存,记得重启Apache——不是只刷新页面。

验证扩展是否真正加载成功

别信“我改了ini就一定生效”,必须实测:

  • 命令行执行php -m | findstr sqlite(Windows)或php -m | grep sqlite(macOS/Linux),应输出sqlite3pdo_sqlite
  • 或在info.php页面搜索“sqlite”,看到两块表格(SQLite3和PDO drivers → sqlite)才算到位
  • 写个测试脚本:,能输出对象说明类可用;再试new PDO('sqlite:test.db')看PDO是否通

常见失败点:Apache用的是另一个PHP实例(比如系统PATH里的旧版PHP),或修改后没重启服务,或扩展DLL文件实际缺失(检查xampp/php/ext/下是否存在php_sqlite3.dllphp_pdo_sqlite.dll)。

XAMPP如何开启sqlite3扩展 XAMPP使用轻量级数据库

连接SQLite数据库时容易忽略的权限和路径问题

即使扩展开了,new SQLite3('test.db')仍可能静默失败或报错,原因往往不在扩展本身:

  • PHP进程(Apache的httpd.exe)必须对数据库文件所在目录有读写权限;XAMPP默认以SYSTEM或当前用户身份运行,但若把DB放在C:\Program Files\下就大概率被拦截
  • 相对路径是相对于PHP脚本所在位置,不是Apache根目录;建议用绝对路径:__DIR__ . '/data/test.db'
  • 首次创建数据库时,目录必须存在且可写;test.db文件不需预先创建,SQLite会自动建,但父目录不行
  • Windows下路径反斜杠要小心,推荐统一用正斜杠或dirname(__FILE__)拼接

SQLite是进程内数据库,没有服务、不占端口、不需用户名密码——但它对文件系统权限和路径语义极其敏感,这点比扩展启用本身更常导致“连不上”。

本文转载于:https://www.php.cn/faq/2419109.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注