PDOException “找不到驱动程序”

2022-08-30 05:58:40

我刚刚用Apache,MySQL和PHP安装了Debian Lenny,并且我收到了PDOException。could not find driver

这是它所指的特定代码行:

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

DB_HOST、 、 和 是我定义的常量。它在生产服务器(以及我以前的Ubuntu服务器设置)上工作正常。DB_NAMEDB_USERDB_PASS

这与我的 PHP 安装有关吗?

搜索互联网没有帮助,我得到的只是专家交流和例子,但没有解决方案。


答案 1

您需要有一个名为 pdo_mysql 的模块。在 phpinfo() 中查找以下内容,

pdo_mysql

PDO Driver for MySQL, client library version => 5.1.44

答案 2

代码中的 dsn 显示您正在尝试与 mysql 驱动程序连接。您的错误消息指示此驱动程序不可用。

检查您的服务器上是否安装了mysql扩展。

在 Ubuntu/Debian 中,你检查软件包的有:

dpkg --get-selections | grep php | grep mysql

如果您没有 php5-mysql 软件包,请安装它。

在 Ubuntu/Debian 中,你可以使用:

  • 菲律宾比索5:sudo apt-get install php5-mysql
  • 菲律宾比索7:sudo apt-get install php7.0-mysql

最后,要使其正常工作,您需要重新启动Web服务器:

  • 阿帕奇:sudo /etc/init.d/apache2 restart
  • 恩金克斯:sudo /etc/init.d/nginx restart

推荐