Laravel: PDOException: не удалось найти драйвер

Я разрабатываю сайт на сервере, у меня есть доступ только к MySQL и FTP, поэтому все команды я выполняю через php-оболочку b374k. Я испытываю проблему Laravel с SQL драйвером. Я попробовал переключиться на файл-хост SQLite (в database/database.sqlite), но выброшенное исключение такое же, как и при использовании MySQL. Ввод & вывод консоли выглядит следующим образом:

   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

На сервере установлены следующие расширения Apache:

    /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

В чем может быть проблема и как я могу ее решить? (У меня нет доступа к root bash).

Комментарии к вопросу (3)
Решение

Если вы можете, запустите:

composer update

composer require doctrine/dbal

Похоже, что у вас отсутствует зависимость

Редактировать:

Возможно, вам нужно закомментировать следующее в вашем файле php.ini.

;extension=pdo_mysql.so

Взято из этого поста: https://stackoverflow.com/questions/35240414/laravel-5-pdoexception-could-not-find-driver . Думаю, мне пришлось сделать нечто подобное при установке laravel на digital ocean.

Комментарии (4)

Отсутствует драйвер базы данных. Для решения проблемы

Сначала установите драйвер

Для ubuntu: Для базы данных mysql.

sudo apt-get install php5.6-mysql/php7.2-mysql

Вы также можете искать для других систем баз данных.

Вы также можете выполнить поиск драйвера:

sudo apt-cache search drivername

Затем выполните команду php artisan migrate.

Комментарии (1)

Я получил ту же ошибку при выполнении моих тестов. Он работал раньше, но он перестал работать после обновления версии PHP. Я так и сделал

sudo apt-get install php-sqlite3

и это сработало.

Комментарии (1)

Даже проще в Ubuntu (18.04)

АПТ установить PHP-MySQL в

Сделано. Не нужно редактировать любые `.Ини файлы.

Удачи в кодировании!

Комментарии (3)

Сначала проверь в PHP -м <БР> .Если вы Don&#39;т см. драйвер для MySQL установить MySQLсудо АПТ-кэша поиск на PHP и MySQL` <БР> Ваши результаты будут аналогичны: <БР>

php-mysql - MySQL module for PHP [default]

<БР> установка PHP - драйвер MySQL <БР>

sudo apt-get install php7.1-mysql
Комментарии (0)

В CentOS7, я попробовать это: ням установить PHP-MySQL в, затем отредактируйте PHP.Ини

Комментарии (0)

Наконец-то я исправил это. В конфигурации сервера была допущена опечатка, и все пути к php extecutables были в порядке, кроме пути к php-cli, который и вызывал ошибку. Когда я исправил путь, все заработало нормально.

Комментарии (0)

В окне ОС. Я раскомментировать расширение=pdo_mysql для PHP.ini-файл, который нужно размещать в одном каталоге php.exe из. после этого он работает нормально.

Комментарии (0)

У меня была такая же проблема, и я раскомментируйте расширение=pdo_sqlite сбежал миграции и все работало нормально.

Комментарии (0)

Вы, вероятно, отсутствует SQLite или специфические драйвера БД вы пытаетесь перенести.

Установить драйвер БД и вы'd быть хорошо. Вы Don'т необходимости отредактируйте ваш PHP.ini-файл (он's один способ исправить это тоже правда).

Для SQLite делать --> судо apt-получить установку на PHP и sqlite3 Затем в PHP ремесленника миграции`

Примечание: Я предполагаю, что у вас есть php и уже установлен MySQL

Комментарии (0)

Решение 1:

1. php -v

Выход: РНР 7.3.11-1+ubuntu16.04.1+deb.sury.org+1 (ЦПИ)

2. sudo apt-get install php7.3-mysql

Решение 2:

Проверьте учетные данные БД как имя базы данных, пользователь БД, пароль БД

Комментарии (0)

если вы установили новую версию PHP 7.2+, то вы должны раскомментировать эту строку в PHP.Ини ;расширение=pdo_mysql

Комментарии (0)