PHP 5.5 与 SQLite 3.7.7.1 捆绑在一起。
从那时起,SQLite 已经发布了大约 20 个新版本,www.sqlite.org 建议升级。就我而言,我需要一个仅从 SQLite 3.8.0 开始可用的功能。
据我了解,SQLite 在 PHP 5.5 中不是动态链接的,而是将 sqlite 源代码编译到 SQLite 的内置 PHP PDO 驱动程序中。
有没有办法在 PHP 中使用当前的 SQLite 版本而无需从源代码重建 PHP(例如,以某种方式动态链接 sqlite.dll)?
最佳答案
我可以生成一个新的 php_pdo_sqlite.dll 以放入包含当前版本 (3.8.1) SQLite 的现有 PHP 5.5 Windows 安装中:
我关注了nice step-by-step guide使用 Visual Studio 2012 Express(可从 http://www.microsoft.com/en-us/download/details.aspx?id=34673 获得)在 Windows 上构建 PHP。
在 PHP 5.5 源代码中,我已将过时的 sqlite 合并文件 ext\sqlite3\libsqlite\sqlite.c
替换为来自 http://www.sqlite.org/download.html 的当前文件。 .
我使用了 configure --enable-pdo=shared --with-pdo-sqlite=shared
。
这会创建 php_pdo_sqlite.dll
,我可以将其放入现有的 PHP 5.5 安装中,替换该文件的先前(捆绑)版本。
<?php
$dbh = new PDO('sqlite:test1.sqlite');
print_r("SQLite version " . $dbh->query('select sqlite_version()')->fetch()[0]);
$dbh = null;
?>
确认:
SQLite version: 3.8.1
关于php - 如何更新与 PHP 捆绑的 SQLite 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20327844/