【问题标题】:PHP PDO exception: could not find driverPHP PDO 异常:找不到驱动程序
【发布时间】:2012-07-10 12:59:21
【问题描述】:

MySQL-server 和 PHP5-MySQLi 版本是否必须匹配才能建立连接?我目前收到以下错误:我正在运行 BSD。 “致命错误:未捕获的异常 'PDOException' 带有消息 '找不到驱动程序'...”

这是连接信息:

$info = "mysql:dbname=myDB;host=localhost";
$user = "dbUser";
$pw = "somePW";
return(new PDO($info, $user, $pw));

这是我的 MySQL 信息:

mysql-server-5.5.24

php5-mysqli-5.4.3

【问题讨论】:

  • phpinfo(); 看看你有什么 PDO 驱动程序。你没有PDO Mysql。 mysqli 和 PDO 是 2 个不同的 DBAL,看起来你把它们弄糊涂了
  • 启用 PDO 支持的 PDO 驱动 sqlite
  • 是的,只有sqlite驱动,没有mysql驱动

标签: php pdo freebsd


【解决方案1】:

我在安装 CentOS 时遇到了同样的问题。我曾尝试安装 imagick 并冲洗我的安装。当我删除所有的 php 文件并重新安装时,有些东西无法正常工作。

我跑了:

yum install php-pdo
yum install php-pdo_mysql

做完这两行后我跑了

service httpd restart

一切都恢复正常运行。

【讨论】:

【解决方案2】:

感谢 zerkms 和 John C 为我指明了正确的方向。以下是我用来安装驱动程序的命令:

#cd /usr/ports/databases/php5-pdo_mysql
#make install clean
#apachectl restart

【讨论】:

  • 这些是正确的命令。您可能还需要考虑安装 ports/ports-mgmt/portmaster 以帮助您管理未来的安装和升级。
【解决方案3】:

PDO 使用特定于数据库的drivers 连接到数据库系统。看起来您缺少连接到 MySQL 数据库所需的 pdo_mysql 驱动程序。 pdo_mysql manual页面上有安装驱动的一些细节,或者可能有可以使用的BSD包(恐怕我对BSD不够熟悉,无法提供具体建议)。

【讨论】:

  • 我也不熟悉 BSD,但快速搜索表明 php5-pdo-5.4.3 是正确的包,或者接近它。
猜你喜欢
  • 2013-11-19
  • 2013-03-09
  • 2012-12-09
  • 2016-05-16
  • 2019-07-01
  • 2019-09-07
  • 2020-09-23
相关资源
最近更新 更多