Laravel: PDOException: no se ha podido encontrar el driver
Estoy desarrollando un sitio web en un servidor que sólo tengo acceso a MySQL y FTP, por lo que todos los comandos que ejecuto son a través de la b374k php shell . Estoy experimentando un problema de Laravel con el controlador SQL. Intenté cambiar a SQLite alojado en un archivo (en database/database.sqlite), pero la excepción lanzada es la misma que cuando se usa MySQL. La entrada & salida de la consola es la siguiente:
php artisan migrate:refresh --seed
[Illuminate\Database\QueryException]
could not find driver (SQL: select * from sqlite_master where type = 'table ' and name = migrations)
[Doctrine\DBAL\Driver\PDOException]
could not find driver
[PDOException]
could not find driver
Las extensiones de Apache instaladas en el servidor son:
/etc/php/5.6/apache2/conf.d/10-mysqlnd.ini,
/etc/php/5.6/apache2/conf.d/10-opcache.ini,
/etc/php/5.6/apache2/conf.d/10-pdo.ini,
/etc/php/5.6/apache2/conf.d/15-xml.ini,
/etc/php/5.6/apache2/conf.d/20-calendar.ini,
/etc/php/5.6/apache2/conf.d/20-ctype.ini,
/etc/php/5.6/apache2/conf.d/20-curl.ini,
/etc/php/5.6/apache2/conf.d/20-dom.ini,
/etc/php/5.6/apache2/conf.d/20-exif.ini,
/etc/php/5.6/apache2/conf.d/20-fileinfo.ini,
/etc/php/5.6/apache2/conf.d/20-ftp.ini, /etc/php/5.6/apache2/conf.d/20-gd.ini,
/etc/php/5.6/apache2/conf.d/20-gettext.ini,
/etc/php/5.6/apache2/conf.d/20-iconv.ini,
/etc/php/5.6/apache2/conf.d/20-json.ini,
/etc/php/5.6/apache2/conf.d/20-mbstring.ini,
/etc/php/5.6/apache2/conf.d/20-mcrypt.ini,
/etc/php/5.6/apache2/conf.d/20-mysql.ini,
/etc/php/5.6/apache2/conf.d/20-mysqli.ini,
/etc/php/5.6/apache2/conf.d/20-pdo_mysql.ini,
/etc/php/5.6/apache2/conf.d/20-phar.ini,
/etc/php/5.6/apache2/conf.d/20-posix.ini,
/etc/php/5.6/apache2/conf.d/20-readline.ini,
/etc/php/5.6/apache2/conf.d/20-shmop.ini,
/etc/php/5.6/apache2/conf.d/20-simplexml.ini,
/etc/php/5.6/apache2/conf.d/20-sockets.ini,
/etc/php/5.6/apache2/conf.d/20-sysvmsg.ini,
/etc/php/5.6/apache2/conf.d/20-sysvsem.ini,
/etc/php/5.6/apache2/conf.d/20-sysvshm.ini,
/etc/php/5.6/apache2/conf.d/20-tokenizer.ini,
/etc/php/5.6/apache2/conf.d/20-wddx.ini,
/etc/php/5.6/apache2/conf.d/20-xmlreader.ini,
/etc/php/5.6/apache2/conf.d/20-xmlwriter.ini,
/etc/php/5.6/apache2/conf.d/20-xsl.ini,
/etc/php/5.6/apache2/conf.d/20-zip.ini
¿Cuál puede ser el problema y cómo puedo solucionarlo? (No tengo acceso a root bash)
32
3
Si puede, ejecute:
Parece que te falta una dependencia
Editar:
Es posible que tenga que comentar lo siguiente en su archivo php.ini.
Tomado de este post: https://stackoverflow.com/questions/35240414/laravel-5-pdoexception-could-not-find-driver . Creo que tuve que hacer algo exactamente igual al configurar laravel en digital ocean.
Falta el controlador de la base de datos. Para resolver el problema
Primero instale el controlador
Para ubuntu: Para la base de datos mysql.
También puede buscar otros sistemas de bases de datos.
También puede buscar el controlador:
Luego ejecutar el cmd
php artisan migrate
.Finalmente lo he solucionado. Había un error en la configuración del servidor y todas las rutas a los ejecutables de php estaban bien excepto la ruta a php-cli, que causaba el error. Cuando arreglé la ruta, todo funcionó bien.