2012-07-10 146 views
5

为了使连接成为可能,MySQL服务器和PHP5-MySQLi版本是否必须匹配?我目前收到以下错误:我正在运行BSD。 “致命错误:未捕获的异常‘PDOException’有消息‘找不到驱动程序’......”PHP PDO异常:找不到驱动程序

这里是连接信息:

$info = "mysql:dbname=myDB;host=localhost"; 
$user = "dbUser"; 
$pw = "somePW"; 
return(new PDO($info, $user, $pw)); 

这里是我的MySQL信息:

MySQL的服务器-5.5.24

PHP5-mysqli的-5.4.3

+4

'phpinfo();'看看你有什么PDO驱动程序。你没有'PDO Mysql'。库MySQLi和PDO是2个不同的DBALs,并且好像你混淆 – zerkms 2012-07-10 23:55:45

+0

PDO支持\t启用 PDO驱动\t sqlite的 – Josh 2012-07-11 00:00:08

+1

是的,只有'sqlite'司机和没有'mysql'司机 – zerkms 2012-07-11 00:00:46

回答

4

PDO使用特定drivers数据库连接到数据库系统。它看起来像缺少连接到MySQL数据库所需的pdo_mysql驱动程序。有一些关于在pdo_mysql manual页面上安装驱动程序的细节,或者可能有一个可以使用的BSD包(恐怕我对BSD不够熟悉以提供具体的建议)。

+0

我不熟悉BSD下去,但快搜索建议'php5-pdo-5.4.3'是正确的包,或接近它。 – 2012-07-11 00:02:02

+0

http://www.freshports.org/databases/php5-pdo_mysql/ – ghoti 2012-07-11 00:44:52

2

感谢zerkms和John C为我指出了正确的方向。以下是我用来安装驱动程序的命令:

#cd /usr/ports/databases/php5-pdo_mysql 
#make install clean 
#apachectl restart 
+0

这些是正确的命令。您可能还想考虑安装'ports/ports-mgmt/portmaster'来帮助您管理将来的安装和升级。 – ghoti 2012-07-11 00:42:28

13

我在CentOS安装上遇到了同样的问题。我试图安装imagick,并安装我的安装。当我删除了所有的php文件并重新安装了某些东西时,它们并不正确。

我跑:

yum install php-pdo 
yum install php-pdo_mysql 

做这两条线后,我跑了

service httpd restart 

,一切都回来了启动和运行。

+0

我正在使用MariaDB,这对我来说是个诡计。谢谢! – TimH 2015-11-13 18:09:52

+0

“没有可用的包php-mysql。”这里 – 2017-10-01 01:24:15

+0

没有看到你的配置和设置,有点难以分辨这个说法。签出 - > https://stackoverflow.com/questions/25872600/yum-install-php-mysql-unable-to-install-centos – 2017-10-01 05:44:14

相关问题