Я разрабатываю сайт на сервере, у меня есть доступ только к 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).
Если вы можете, запустите:
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.
Отсутствует драйвер базы данных. Для решения проблемы
Сначала установите драйвер
Для ubuntu: Для базы данных mysql.
sudo apt-get install php5.6-mysql/php7.2-mysql
Вы также можете искать для других систем баз данных.
Вы также можете выполнить поиск драйвера:
sudo apt-cache search drivername
Затем выполните команду php artisan migrate
.
Я получил ту же ошибку при выполнении моих тестов. Он работал раньше, но он перестал работать после обновления версии PHP. Я так и сделал
sudo apt-get install php-sqlite3
и это сработало.
Даже проще в Ubuntu (18.04)
АПТ установить PHP-MySQL в
Сделано. Не нужно редактировать любые `.Ини файлы.
Удачи в кодировании!
Сначала проверь в PHP -м <БР> .Если вы Don'т см. драйвер для MySQL установить MySQL
судо АПТ-кэша поиск на PHP и MySQL`
<БР>
Ваши результаты будут аналогичны:
<БР>
php-mysql - MySQL module for PHP [default]
<БР> установка PHP - драйвер MySQL <БР>
sudo apt-get install php7.1-mysql
У меня была такая же проблема, и я раскомментируйте расширение=pdo_sqlite
сбежал миграции
и все работало нормально.
Вы, вероятно, отсутствует SQLite или специфические драйвера БД вы пытаетесь перенести.
Установить драйвер БД и вы'd быть хорошо. Вы Don'т необходимости отредактируйте ваш PHP.ini-файл (он's один способ исправить это тоже правда).
Для SQLite делать --> судо apt-получить установку на PHP и sqlite3
Затем в PHP ремесленника миграции`
Примечание: Я предполагаю, что у вас есть php и уже установлен MySQL
Решение 1:
1. php -v
Выход: РНР 7.3.11-1+ubuntu16.04.1+deb.sury.org+1 (ЦПИ)
2. sudo apt-get install php7.3-mysql
Решение 2:
Проверьте учетные данные БД как имя базы данных, пользователь БД, пароль БД