如何更新与PHP捆绑的SQLite版本

Fab*_*ian 2 php windows sqlite pdo

PHP 5.5捆绑了SQLite 3.7.7.1.

从那时起,已经有大约20个SQLite的新版本,www.sqlite.org建议升级.在我的情况下,我需要一个自SQLite 3.8.0以来可用的功能.

据我所知,SQLite在PHP 5.5中没有动态链接,但sqlite源代码被编译成SQLite的内置PHP PDO驱动程序.

有没有办法在PHP中使用当前的SQLite版本而无需从源代码重建PHP(例如,以某种方式动态链接sqlite.dll)?

Fab*_*ian 5

我可以生成一个新的php_pdo_sqlite.dll来放入现有的PHP 5.5 Windows安装,其中包括SQLite的当前版本(3.8.1):

我遵循了很好的分步指南,使用Visual Studio 2012 Express在Windows上构建PHP(可从http://www.microsoft.com/en-us/download/details.aspx?id=34673获得).

在PHP 5.5源代码中,我已经用http://www.sqlite.org/download.html中ext\sqlite3\libsqlite\sqlite.c的当前版本替换了过时的sqlite amalgamation文件.

我用过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;
?>
Run Code Online (Sandbox Code Playgroud)

确认:

SQLite version: 3.8.1
Run Code Online (Sandbox Code Playgroud)