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

时间:2013-12-02 12:02:28

标签: 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)?

1 个答案:

答案 0 :(得分:5)

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

我使用了很好的step-by-step guide在Windows上使用Visual Studio 2012 Express(可从http://www.microsoft.com/en-us/download/details.aspx?id=34673获得)构建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