在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
知道什么是错的吗?
答案 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\"
现在它有效......