sqlite不适用于Windows 7 + php中的localhost

时间:2012-09-19 10:30:08

标签: php sqlite iis localhost windows-7-x64

在localhost(Windows 7 IIS)上运行我的php文件时,我遇到了使用sqlite的问题。我在IIS管理器中安装了IIS,PHP 5.3,xdebug和启用了sqlite。我的IDE是phpStorm。 PHP工作得很好。但是在行之后

$db = new PDO('sqlite:new.db');

$db = {PDO} [0]。在此之后,$db->query($query, SQLITE_BOTH, $error)会给出一个空的$error,这是我能理解的。但是,我不明白为什么new PDO不起作用,也不会返回任何错误。数据库位于根文件夹中,完全相同的代码在Internet上运行。

可以肯定的是,这是sqlite上的phpinfo输出:

PDO support   enabled
PDO drivers   mysql, sqlite, sqlsrv, sqlite2

知道什么是错的吗?

1 个答案:

答案 0 :(得分:3)

我有同样的问题。 为了使它工作,我进入了php.ini的这一部分,在管理权限下编辑它:

[ExtensionList]
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll

我添加了以下行

extension=php_sqlite3.dll

然后我想要以下部分:

[sqlite3]
sqlite3.extension_dir = 

上面是空的,我把它改成了

[sqlite3]
sqlite3.extension_dir = "C:\Program Files (x86)\PHP\v5.6\ext\"

现在它有效......