Laravel 5 PDOException no pudo encontrar el controlador

4 minutos de lectura

Tengo un problema al usar Laravel 5. Cuando ejecuto “php aritsan migrate”, aparece este error

**************************************
*     Application In Production!     *
**************************************

Do you really wish to run this command? [y/N] y

[PDOException]
could not find driver

Podía ejecutar la aplicación, pero cuando necesitaba conexión a la base de datos, recibí este error

PDOException in Connector.php line 55:
could not find driver
in Connector.php line 55
at PDO->__construct('mysql:host=localhost;dbname=mydb', 'root', '', array('0', '2', '0', false, false)) in Connector.php line 55
at Connector->createConnection('mysql:host=localhost;dbname=mydb', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'mydb', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, false)) in MySqlConnector.php line 22

¿Como arreglarlo?

  • Instale el controlador PDO en su servidor.

    – Mate

    6 de febrero de 2016 a las 11:28

  • Para PHP 7.4 en Windows 10 (x64), consulte stackoverflow.com/questions/49333044/…

    – endo64

    17 de enero de 2021 a las 14:51


Laravel 5 PDOException no pudo encontrar el controlador
knalj

Me pasó lo mismo después de actualizar la distribución.

Corriendo sudo apt-get install php7.0-mysql me lo arregló.

  • No estoy seguro de por qué esto ha sido rebajado. Esto funcionó bien para mí, mientras que la respuesta aceptada no funcionó.

    – Brad pájaro

    24 de julio de 2016 a las 15:42

  • Este es el primer paso, luego active PDO si es necesario. Tenga cuidado de instalar el complemento mysql para la versión correcta de php que está usando, no especialmente la 7.0 (php -v)

    – tomsihap

    15/10/2016 a las 10:24

  • Enfrenté este error después de reemplazar apache por nginx. Después de todo, reinstalé php7.0-mysql y funcionó de maravilla.

    – bigbiggerpepe

    14 de mayo de 2017 a las 7:17

  • En mi caso, ya lo había instalado y funcionaba para la línea de comando (usando el artisan migrate commands) pero por alguna razón seguía fallando en la aplicación. ¡Necesitaba reiniciar apache!

    – El desarrollador desconocido

    20 de agosto de 2017 a las 0:47

  • Yo sugeriría correr php -v primero para ver qué versión de PHP está ejecutando y luego instale la versión apropiada

    – Zachary Weixelbaum

    27 de septiembre de 2017 a las 2:27

Debe instalar PDO en su servidor. Edite su php.ini (mire su phpinfo(), línea “Archivo de configuración cargado”, para encontrar la ruta del archivo php.ini). Busque y elimine el comentario de la siguiente línea (elimine el ; personaje):

;extension=pdo_mysql.so

Luego, reinicie su servidor Apache. Para más información, por favor leer la documentación.

  • Primero, siga la respuesta de @user657309 para instalar mysql (dada su versión de php, no especialmente php7.0)

    – tomsihap

    15/10/2016 a las 10:23

  • Si está utilizando php-fpm, debe reiniciarlo, además de reiniciar el servidor web (nginx/apache)

    – Mugoma J.Okomba

    20 jun 2017 a las 21:35

1646751008 456 Laravel 5 PDOException no pudo encontrar el controlador
Anil Gupta

Estoy usando Ubuntu 16.04 y PHP 5.6.20

Después de demasiados problemas, los siguientes pasos me resolvieron esto:

  1. encontrar php.ini camino a través phpinfo()

  2. descomentar

    extension=php_pdo_mysql.dll
    
  3. añadir esta línea

    extension=pdo_mysql.so
    
  4. entonces corre

    sudo apt-get install php-mysql
    

  • .dll Los archivos son utilizados por el sistema operativo Windows y no deberían tener ningún efecto. Por eso necesitas el .so equivalente para Linux.

    – Ari

    5 de enero de 2018 a las 3:59

  • Muchas gracias. Después de esforzarme durante horas, su solución funcionó para mí.

    usuario5911925

    22 de abril de 2018 a las 17:49

  • Si. Eso funcionó para la última versión: PHP 7.2.19-0ubuntu0.18.04.1

    –Ibrahim Mohamed

    11 de junio de 2019 a las 2:46

Dependerá de su versión de php. Compruébalo en ejecución:

php -version

Ahora, según su versión actual, ejecute:

sudo apt-get install php7.2-mysql

1646751009 776 Laravel 5 PDOException no pudo encontrar el controlador
muhammad sulman

sudo apt-get update

Para la base de datos Mysql

sudo apt-get install php-mysql

Para la base de datos PostgreSQL

sudo apt-get install php-pgsql

Luego

php artisan migrate

1646751009 545 Laravel 5 PDOException no pudo encontrar el controlador
AnNaMaLaI

He probado el siguiente comando en Ubuntu y funciona para mí
sudo apt-get install php7.0-mysql

Gracias

Laravel 5 PDOException no pudo encontrar el controlador
Comunidad

Si su base de datos es PostgreSQL y tiene php7.2, debe ejecutar los siguientes comandos:

sudo apt-get install php7.2-pgsql

y

php artisan migrate

  • ¡Bienvenido a SO! Explique su respuesta con algún detalle, haga preguntas en comments sección.

    – Devang Padhiyar

    8 de abril de 2019 a las 17:03

  • sudo es para linux. ¿Qué es para las ventanas?

    – saadk

    16 de octubre de 2020 a las 7:44

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad