-1

我在 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 一起工作?

4

1 回答 1

0

Problem solved. Even though I had properly uncommented all my dlls, and uncommented the sqlite3.extension_dir = "ext", you need to specifically uncomment the windows ext location on the line following ; On windows:' extension_dir = "ext"` And then restart your server.

于 2015-08-14T22:41:40.433 回答