PDO 扩展配置 - 我在我的 PHP 应用程序中不断收到 PDOException“找不到驱动程序”

Posted

技术标签:

【中文标题】PDO 扩展配置 - 我在我的 PHP 应用程序中不断收到 PDOException“找不到驱动程序”【英文标题】:PDO extension configuration - I keep getting PDOException "could not find driver" in my PHP application 【发布时间】:2012-02-27 06:23:54 【问题描述】:

在我编写的 php 应用程序中,我不断收到一条错误消息:

Fatal error: Uncaught exception 'ActiveRecord\DatabaseException' with message 'exception 'PDOException' with message 'could not find driver' in /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/Connection.php:239 Stack trace: #0 /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/Connection.php(239): PDO->__construct('mysql:host=loca...', 'diftx_skcin7', 'thePassword', Array) #1 /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/Connection.php(101): ActiveRecord\Connection->__construct(Object(stdClass)) #2 /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/ConnectionManager.php(33): ActiveRecord\Connection::instance('mysql://diftx_s...') #3 /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/Table.php(103): ActiveRecord\ConnectionManager::get_connection(NULL) #4 /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/Tabl in /home/diftx/public_html/dol/sparks/php-activerecord/0.0.1/vendor/php-activerecord/lib/Connection.php on line 241

根据此消息,我对 PDO 进行了一些研究,但似乎无法弄清楚。

这是我的 phpinfo() 中显示 PDO 信息的屏幕截图:

当我通过 PuTTY 登录服务器并键入“php -m”时,会出现一个模块列表。列表中同时包含 PDO 和 pdo_sqlite 的条目。

我对服务器配置有些陌生,我似乎根本无法弄清楚我在设置它时做错了什么。救命!

【问题讨论】:

您是否尝试将 PDO 与 MySQL 一起使用?看来您的服务器只有sqlite 的驱动程序而不是MySQL 请包含您从代码中得到的全部错误 您的 PDO 连接是如何配置的?检查它是否为DSN is correct。 大家好。我最终弄清楚了。原来我配置了 PDO,但我没有配置 PDO_MySQL,这是问题所在。我读了很多关于这个的东西,似乎直到现在我才意识到 PDO 和 PDO_MySQL 是两个不同的东西。那是我不明白的。谢谢大家。 @fike 或 skcin7:你能添加这个作为答案吗? :) 【参考方案1】:

就像回答这个问题(我评论了解决方案)。您没有 PDO 使用 MySQL 所需的驱动程序。您需要先安装它们,然后才能将 MySQL 与 PDO 一起使用。

【讨论】:

以上是关于PDO 扩展配置 - 我在我的 PHP 应用程序中不断收到 PDOException“找不到驱动程序”的主要内容,如果未能解决你的问题,请参考以下文章

php开启pdo扩展

如何在 PDO 中加载 sqlite 扩展?

PHP PDO 如何在内部工作?

pdo 的配置与启用

php5配置使用pdo

win7 PHP7.0的PDO扩展