2012-07-10 35 views
5

Phiên bản MySQL-server và PHP5-MySQLi có khớp với nhau để có thể kết nối không? Tôi hiện đang nhận được lỗi dưới đây: Tôi đang chạy BSD. "Fatal error: của router ngoại lệ 'PDOException' với thông điệp 'không thể tìm thấy tài xế' ..."Ngoại lệ PDO PHP: không thể tìm thấy trình điều khiển

Dưới đây là các thông tin kết nối:

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

Đây là thông tin MySQL của tôi:

mysql-server-5.5.24

php5-mysqli-5.4.3

+4

'phpinfo();' và xem những trình điều khiển PDO bạn có. Bạn không có 'PDO Mysql'. mysqli và PDO là 2 DBALs khác nhau, và có vẻ như bạn nhầm lẫn giữa chúng – zerkms

+0

PDO hỗ trợ \t kích hoạt trình điều khiển PDO \t sqlite – Josh

+1

vâng, chỉ 'tài xế sqlite' và không có' tài xế mysql' – zerkms

Trả lời

4

PDO sử dụng cơ sở dữ liệu cụ thể drivers để kết nối với hệ thống cơ sở dữ liệu. Dường như bạn đang thiếu trình điều khiển pdo_mysql được yêu cầu để kết nối với cơ sở dữ liệu MySQL. Có một số chi tiết về cách cài đặt trình điều khiển trên trang pdo_mysql manual, hoặc có thể có một gói BSD mà bạn có thể sử dụng (Tôi e rằng tôi không đủ quen thuộc với BSD để đưa ra lời khuyên cụ thể).

+0

Tôi không quen thuộc với BSD một trong hai, nhưng một cách nhanh chóng tìm kiếm gợi ý rằng 'php5-pdo-5.4.3' là gói đúng, hoặc gần với nó. –

+0

http://www.freshports.org/databases/php5-pdo_mysql/ – ghoti

2

Nhờ zerkms và John C để chỉ cho tôi đi đúng hướng. Dưới đây là các lệnh tôi đã sử dụng để cài đặt trình điều khiển:

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

Đó là các lệnh phù hợp. Bạn cũng có thể cân nhắc việc cài đặt 'cổng/cổng-mgmt/cổng quản trị 'để giúp bạn quản lý các lượt cài đặt và nâng cấp trong tương lai. – ghoti

13

Tôi đã gặp vấn đề này khi cài đặt CentOS. Tôi đã cố gắng để cài đặt imagick và hosed cài đặt của tôi. Khi tôi gỡ bỏ tất cả các tập tin php của tôi và cài đặt lại một cái gì đó đã không làm việc đúng.

Tôi chạy:

yum install php-pdo 
yum install php-pdo_mysql 

Sau khi thực hiện những hai dòng Tôi chạy

service httpd restart 

và tất cả mọi thứ trở lại và chạy.

+0

Tôi đang sử dụng MariaDB, và điều này đã làm cho các trick cho tôi. Cảm ơn! – TimH

+0

"Không có gói php-mysql có sẵn." Ở đây –

+0

Nếu không thấy cấu hình và thiết lập của bạn, có một chút khó khăn để biết điều gì đang diễn ra từ tuyên bố này. Kiểm tra -> https://stackoverflow.com/questions/25872600/yum-install-php-mysql-unable-to-install-centos –

Các vấn đề liên quan