我刚刚安装了Debian Lenny与Apache, MySQL和PHP,我收到一个PDOException无法找到驱动程序。

这是它所引用的特定代码行:

$dbh = new PDO('mysql:host=')。DB_HOST。”;dbname = '。Db_name, db_user, db_pass)

DB_HOST、DB_NAME、DB_USER和DB_PASS是我已经定义的常量。它在生产服务器(以及我之前的Ubuntu server设置)上运行良好。

这与我的PHP安装有关吗?

在网上搜索也没有帮助,我得到的都是专家交流和例子,但没有解决方案。


当前回答

对于有PHP 7.0的新版本的Ubuntu,你可以得到PHP -mysql包:

sudo apt-get install php-mysql

然后重新启动服务器:

sudo service apache2 restart

其他回答

在我的情况下(Windows XP + Apache2.2 + PHP 5.4.31),我改变了PHPIniDir在httpd.conf来解决这个问题:

来自:

"C:\php5\" 

to:

"C:/php5/"

对于有PHP 7.0的新版本的Ubuntu,你可以得到PHP -mysql包:

sudo apt-get install php-mysql

然后重新启动服务器:

sudo service apache2 restart

在我为了安装php7包而删除了php5包(包括所有的驱动程序)之后,我也遇到了同样的问题。我实际上安装了php7包,没有mysql模块。

我在终端中输入:

1) $ apt-cache搜索php7 上面列出了我找到的所有模块,

PHP的MySQL模块

2)安装php7.0-mysql

就是这样。它适用于我的linux系统。

(使用合适的PHP版本,你的可以是php5)

我通过启用php_pdo_mysql解决了这个问题。“IIS信息服务- > PHP扩展”中的ddl。

检查模块是否可用php -m | grep pdo_mysql。

如果没有,对于PHP 7.2,可以使用sudo apt install php7.2-mysql安装相关包。

在其他PHP版本和包管理器上使用类似的命令。