我在 Windows 7 上安装了 PHP 5.6,并使用内置服务器在本地运行网站进行测试。我想连接到一个 Sqlite3 文件,并且我取消了 C:\Program Files\php 文件夹中 php.ini 文件中相应行的注释。尝试在本地服务器上查看页面时仍然出现此错误:
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\Users\USERX\Documents\pageloadbasic.php:13 Stack trace: #0
C:\Users\USERX\Documents\pageloadbasic.php(13): PDO->__construct('sqlite:db/lhblo...') #1 {main} thrown in C:\Users\USERX\Documents\pageloadbasic.php on line 13
为什么我会收到此错误?
几点注意事项:我的 phpinfo 文件显示:
Configuration File (php.ini) Path C:\Windows
(由于某种原因,即使那里没有 php.ini 文件,这始终默认为 C:\Windows)
Loaded Configuration File C:\Program Files\php\php.ini
但是 C:\Windows 中没有 php.ini 文件。此外,我的 php 文件夹在 ext 文件夹中不包含 php_pdo.dll,但我添加了一个从 pecl-5.0.5-Win32 存档中提取的文件,如其他一些站点中所述。
我extension=php_pdo.dll
在我的 php.ini 文件中添加了。
我没有评论extension=php_pdo_sqlite.dll
。
我没有评论extension=php_sqlite3.dll
。
我的 php.ini 中有这两行与 sqlite 相关:
[sqlite]
; http://php.net/sqlite.assoc-case
;sqlite.assoc_case = 0
(我没有更改这两行的任何内容,因为我不确定它的用途......)
[sqlite3]
sqlite3.extension_dir = "ext"
(在这一行上,我按照另一篇文章的建议添加了“ext”目录)
我在我的 php 代码中有这个来使用 pdo 连接到我的 db 文件:
$db = new PDO('sqlite:db/xxxxx.db');
我错过了什么?我需要做什么才能让 PDO 与 Sqlite3 一起工作?