PDOException';找不到驱动程序';和display_errors困境


The PDOException 'could not find driver' and display_errors quandary

我通常采用"警告即错误"的方法进行开发。然而,最近我重新安装了我的开发工具,发现我没有像往常一样打开所有的警告和错误

因此,在我的php.ini文件中,我重新打开了以下设置:

Development Value: E_ALL | E_STRICT

现在我得到这个错误:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:'wamp'www'project'database_class_example.php

我正在使用PDO并连接到PostgreSQL数据库。我以前也犯过这个错误,但现在已经解决了。这是我的难题:

如果我关闭警告和错误,它就会工作并成功连接到数据库。如果我打开警告和错误,它不会

这怎么可能呢,如果它找不到司机,肯定永远不会工作!

它抱怨这行代码:

parent::__construct($this->data_source_name, $this->username, $this->password);

这来自我的数据库类,它扩展了PDO。

其中,$data_source_name是一个预先构建的字符串,包含数据库引擎名称主机和数据库名称

$username$密码显然包含用户名和密码。

请记住,这是有效的。如果我关闭display_errors,这个代码就可以工作了。

虽然这个问题听起来很奇怪,但我能猜到的唯一原因是数据库_class_example.php中有未使用的PDO连接。我很乐意提供要查找的行号,但出于某种原因,您在引用的错误消息中省略了它。

文件名也表明了这一点。