我在Windows XP上的Apache 2.2上运行PHP 5.4.5。两次:-)我认为两台机器都是相同的,但是一台机器工作正常而另一台机器产生错误。 (它们都是开发机器 - 一个用于开发,另一个用于隔离测试仪)
我已经启用扩展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);
}
...
但这并没有解释发生了什么,因为正如我所说,这在游戏机上运行良好。
我想我只是盲目而且看不到明显的东西:-)任何想法,伙计们?
提前致谢。
答案 0 :(得分:4)
在Apache的httpd.conf中,标记为#BEGIN PHP INSTALLER EDITS的部分... PHPIniDir已被注释掉。不知道为什么,跟我无关。必须是一个iffy安装。但是,我对它进行了解释,现在一切都应该如此。
不知道为什么PHP没有抱怨没有ini文件? (错误日志中没有任何内容)。我认为,将来要关注的是。
感谢领先的问题: - )
答案 1 :(得分:0)
切换到新的PHP版本后,我收到了同样的错误消息。 解决方案很简单,但也许在这里发布它可能仍然可以帮助那些通过Google结束的人......
我仍然不得不在我的php.ini文件中取消pdo_mysql / pdo_mysqlite扩展名(取决于你使用的是mysql还是myslq lite版本) 所以unescape这些线(带走;)
;extension=php_pdo_mysql.dll
;extension=php_pdo_sqlite.dll