今天我在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。
PHP5 :5.5.3 MySQL :5.5.35
的ConnectionString
mysql:host=127.0.0.1;dbname=MyDB;port=3306
导致这种情况的原因是什么?
答案 0 :(得分:0)
PHP MySQL驱动程序(mysql.so
/ mysqli.so
)和PHP PDO MySQL驱动程序(pdo_mysql.so
)是两个单独的模块。你需要它们兼具MySQL的PDO功能。
很可能其中一个缺失或版本不兼容 - 我手边没有Ubuntu系统,但在我的基于RPM的Linux发行版中,每个模块都有一个单独的包({{1} } / php-mysql
和php-mysqli
)。我还希望PDO使用较新的php-pdo_mysql
驱动程序,而不是过时的mysqli.so
驱动程序,因此您应该验证是否已安装了一个驱动程序。
答案 1 :(得分:-1)
试试这个:
sudo apt-get install -y php5-mysql php5 mysql-client
如果没有安装任何依赖项,这应该会自动重启你的apache。
尝试使用vagrant。 您可以根据需要隔离,升级和降级依赖关系。