2012-07-10 45 views
5

¿El servidor MySQL y la versión PHP5-MySQLi tienen que coincidir para que sea posible una conexión? Actualmente estoy recibiendo el siguiente error: Estoy ejecutando BSD. "Fatal error: Excepción no detectada 'PDOException' con el mensaje 'no pudo encontrar conductor ..."Excepción PHP PDO: no se pudo encontrar el controlador

Aquí está la información de la conexión:

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

Aquí está mi información de MySQL:

mysql-server-5.5.24

php5-mysqli-5.4.3

+4

'phpinfo();' y mira qué drivers PDO tienes. No tienes 'PDO Mysql'. mysqli y PDO son 2 DBALs diferentes, y parece como si los confundes – zerkms

+0

apoyo DOP \t habilitado conductores DOP SQLite \t – Josh

+1

sí, solamente 'controlador sqlite' y ningún controlador' mysql' – zerkms

Respuesta

4

DOP utiliza la base de datos específica drivers para conectarse a los sistemas de bases de datos. Parece que le falta el controlador pdo_mysql que se requiere para conectarse a una base de datos MySQL. Hay algunos detalles sobre la instalación del controlador en la página pdo_mysql manual, o puede haber un paquete BSD que puede usar (me temo que no estoy lo suficientemente familiarizado con BSD para ofrecer consejos específicos).

+0

No estoy familiarizado con BSD tampoco, pero una rápida La búsqueda sugiere que 'php5-pdo-5.4.3' es el paquete correcto, o cerca de él. –

+0

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

2

Gracias a zerkms y John C por señalarme en la dirección correcta. A continuación se presentan los comandos que utiliza para instalar el controlador:

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

Esos son los comandos correctos. También puede considerar instalar 'ports/ports-mgmt/portmaster' para ayudarlo a administrar instalaciones y actualizaciones en el futuro. – ghoti

13

tenía este mismo problema en mi CentOS instalar. Intenté instalar imagick y lavar mi instalación. Cuando eliminé todos mis archivos php y reinstalé algo, no funcionaba bien.

me corrieron:

yum install php-pdo 
yum install php-pdo_mysql 

Después de hacer esas dos líneas me encontré

service httpd restart 

y todo se vuelva a funcionar.

+0

Estoy usando MariaDB, y esto me sirvió de algo. ¡Gracias! – TimH

+0

"No hay paquete php-mysql disponible." aquí –

+0

Sin ver su configuración y configuración, es un poco difícil saber qué sucede a partir de esta declaración. Consulte -> https://stackoverflow.com/questions/25872600/yum-install-php-mysql-unable-to-install-centos –

Cuestiones relacionadas