再也找不到MySQL驱动程序(Linux)

时间:2014-03-25 08:52:21

标签: php mysql ubuntu pdo

今天我在Ubuntu中的一些软件包自动升级了,我没想到实际发生了什么。

自更新以来,我的本地开发环境已不再适用。首先,不工作是mod_rewrite,我必须使用a2enmod再次启用。但是现在我遇到了一个我似乎无法解决的问题。我的应用程序似乎无法找到PDO MySQL驱动程序。运行应用程序时,出现错误failed to open the DB connection: could not find driver

这很奇怪,因为如果我检查phpinfo() PDO驱动程序是否支持MySQL,套接字路径是一个有效的路径。

根据php info,

pdo_mysql客户端API版本是5.5.35。

PHP5 :5.5.3 MySQL :5.5.35

的ConnectionString

mysql:host=127.0.0.1;dbname=MyDB;port=3306

导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:0)

PHP MySQL驱动程序(mysql.so / mysqli.so)和PHP PDO MySQL驱动程序(pdo_mysql.so)是两个单独的模块。你需要它们兼具MySQL的PDO功能。

很可能其中一个缺失或版本不兼容 - 我手边没有Ubuntu系统,但在我的基于RPM的Linux发行版中,每个模块都有一个单独的包({{1} } / php-mysqlphp-mysqli)。我还希望PDO使用较新的php-pdo_mysql驱动程序,而不是过时的mysqli.so驱动程序,因此您应该验证是否已安装了一个驱动程序。

答案 1 :(得分:-1)

试试这个:

sudo apt-get install -y php5-mysql php5 mysql-client

如果没有安装任何依赖项,这应该会自动重启你的apache。

尝试使用vagrant。 您可以根据需要隔离,升级和降级依赖关系。

Vagrant