【问题标题】:The PDOException 'could not find driver' and display_errors quandaryPDOException“找不到驱动程序”和 display_errors 困惑
【发布时间】:2013-09-05 06:44:07
【问题描述】:

我通常使用“警告为错误”的方法进行开发。但是,最近我重新安装了我的开发工具,发现我并没有像往常一样打开所有的警告和错误。

所以,在我的 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$password 显然包含用户名和密码。

请记住,这是可行的。如果我关闭 display_errors,这段代码就可以工作。

【问题讨论】:

  • 似乎对我没有帮助。我什至无法在我的配置中找到该答案所推荐的内容。
  • 无意冒犯,但您没有提供帮助。它们可能有相同的错误,但细节不同。
  • 在发出警告的非工作连接之后,您可以有一个工作连接,第二个隐藏第一个。很难说没有更多的代码来看看。理想情况下,使用完整代码生成可重现的示例。
  • 我从来不知道,这似乎很奇怪。嗯,让我通过制作一个可重现的示例和完整的代码来改进我的问题。
  • 如果这被标记为重复,请指向我之前回答的问题,它回答了这个问题。上面建议的,没有。我不明白这是如何复制的。我的 Apache httpd.conf 中没有“PHPIniDir”

标签: php postgresql pdo


【解决方案1】:

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

文件名也暗示了这一点。

【讨论】:

  • 我已经编辑了文件名。我将发布它抱怨的代码行。
猜你喜欢
  • 2016-09-03
  • 2022-01-23
  • 2017-06-07
相关资源
最近更新 更多