使用Sqlite的消息'找不到驱动程序'的未捕获异常'PDOException':mis-configuration?
我在Windows XP上的Apache 2.2上运行PHP 5.4.5。两次:-)我认为两台机器的设置完全相同,但一台机器正常工作,另一台机器正常工作,另一台机器产生错误。 (它们都是开发机器 - 一个用于开发,另一个用于开发,另一个用于隔离测试)使用Sqlite的消息'找不到驱动程序'的未捕获异常'PDOException':mis-configuration?
我已经将扩展php_pdo.dll,php_pdo_sqlite.dll和php_sqlite.dll全部启用(尽管只有这些, php_pdo_sqlite.dll位于ext目录中,而pdo_sqlite.dll实际上名为php_sqlite3.dll - 但我理解这一切都应该如此)。
如果有帮助,这会在施工时失败。我包裹PDO与类的我自己:有问题的代码如下所示:
类
ADO extends PDO {
function __construct ($cnString = 'sqlite:..') {
parent::__construct ($cnString);
$this->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
...
但这并不能解释发生了什么,因为,正如我所说,这工作正常在游戏机上。
我想我只是失明,看不到明显的东西:-)任何想法,乡亲?
在此先感谢。
找到了!我是对的 - 很明显,我正在失明:-)
在Apache的httpd.conf中,标记为#BEGIN PHP INSTALLER EDITS的部分... PHPIniDir已被注释掉。不知道为什么,与我无关。一定是安装不当。但是,我已经对它进行了分解,现在应该如此。
不知道为什么PHP没有抱怨没有ini文件? (错误日志中没有任何内容)。我想,将来要注意的一点是。
感谢:-)
主导的问题,我切换到一个新的PHP版本后出现相同的错误消息。 的解决方案是简单的,但也许张贴在这里可能还是帮助别人谁在这里通过谷歌结束了......
我仍然不得不取消转义在我的php.ini文件中的PDO_MYSQL/pdo_mysqlite扩展(取决于您是否使用MySQL或myslq精简版的版本) 所以UNESCAPE这些线(拿走)
;extension=php_pdo_mysql.dll
;extension=php_pdo_sqlite.dll
http://www.php.net/manual/en/pdo.getavailabledrivers.php - 你真正看到sqlite的呢?如果没有,您的问题不在您的代码中,而是在PHP配置中。 – Shi 2012-08-17 17:40:43
扩展名列在phpinfo中是否已启用? – 2012-08-17 17:41:49
pdo :: getAvailableDrivers不会返回任何内容。 – 2012-08-17 21:09:37