2012-07-10 155 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

相關問題