2011-09-17 11 views
10

Probé Symfony 2 hoy y traté de jugar un poco con Doctrine.¿Por qué Doctrine dice que no puede encontrar el controlador PDO?

Pero cuando se utiliza el comando php app/console doctrine:schema:create en la línea de comandos, devuelve este error:

[PDOException] 
could not find driver 

doctrine:schema:create [--dump-sql] [--em[="..."]] 

Mi archivo php.ini y phpinfo() Cleary espectáculo que se carga el driver PDO. También creé un pequeño script en PHP puro para conectarme a mi base de datos usando PDO y funcionó bien. No hay error, por lo que PDO está bien instalado y funciona.

PHP y MySQL se ejecutan en mi computadora con la última versión de EasyPHP.

¿Qué podría haber ido mal con Doctrine? ¿Dónde debería mirar ahora?

+0

¿Has ejecutado ese pequeño script de CLI también? ¿Qué pasa con 'php -i'? – zerkms

+0

No funciona cuando se ejecuta el script desde CLI ... ¿Pero por qué? ¿No es la misma instalación de php? :/¿Qué tengo que encontrar en php -i? –

Respuesta

6

Debe configurar correctamente su php cli, para cargar las mismas extensiones que la versión del servidor web ha configurado para cargar.

Aquí es una link en donde PHP busca el archivo de configuración

+1

Cuando hago 'php -m' (lista de compilados en módulos) puedo ver PDO. Hay dos archivos php.ini en mi directorio (uno de dev y on para prod) y solo he encontrado estos. –

+0

Gracias, tienes razón. El problema se debe a que falta un archivo php.ini para la CLI. –

+1

Escriba 'php --ini' para ver dónde se encuentra php.ini – Alcalyn

10

Sí, si escribe php -m en la línea de comando, se debe indicar tanto PDO y pdo_mysql. En mi caso, mostró solo PDO por lo que no pudo encontrar el controlador MySQL.

Como ya lo ha comentado, creo que es porque PHP CLI no puede encontrar un archivo adecuado php.ini.

8

sudo apt-get install php5-mysql

va a hacer la magia

+0

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga suficiente [reputación] (http://stackoverflow.com/help/whats-reputation) lo hará poder [comentar cualquier publicación] (http://stackoverflow.com/help/privileges/comment). – Ziumin

+0

@Ziumin Volviendo y mirando esta pregunta, esta respuesta solucionó mi problema. No solo es una respuesta, sino que podría ser la respuesta aceptada en esta pregunta si se ampliara. –

+0

No funcionó para mí. Todo dice que PDO está instalado y ejecutándose, pero Synfony no puede encontrarlo. – AngelGris

2

En la línea de comandos, comprobar si tiene el apoyo DOP:

php -m|grep -i pdo 

Si no es así, buscar el soporte de MySQL PHP (Ubuntu):

apt-cache search php5*|grep mysql 

Y instalarlo:

sudo apt-get install php5-mysql 

Después de instalar el paquete de verificación de nuevo, debería ver el soporte de PDO mysql.

Cuestiones relacionadas