无法找到MySQL驱动程序(Linux)


Can't find MySQL driver anymore (Linux)

今天我的一些Ubuntu包自动升级了,我不知道到底发生了什么。

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

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

pdo_mysql客户端API版本为5.5.35,根据php info.

PHP5 : 5.5.3MySQL : 5.5.35

Connectionstring

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

是什么原因导致的?

PHP MySQL驱动(mysql.so/mysqli.so)和PHP PDO MySQL驱动(pdo_mysql.so)是两个独立的模块。你需要这两个PDO功能与MySQL。

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

试试这个:

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

如果没有安装任何依赖项,这将自动重启您的apache。

尝试使用vagrant。当你喜欢的时候,依赖关系可以被隔离、升级和降级。

的流浪汉