I am getting this error
could not find driver (SQL: select user_id. ]
I’ve looked at other related questions and tried the suggestions but I am still getting the same error.
My PHP.ini has extension=php_pdo_mysql.dll
I’ve added «doctrine/dbal»: «^2.5»,
I’ve also tried clearing cache, config, dump auto load etc.
phpinfo() shows there are no PDO drivers.
Previously my phpstorm was pointing at a PHP installation that didn’t have extension=php_pdo_mysql.dll enabled but I am still getting the same error even after pointing it to the correct PHP folder.

1 Answer 1
You need to install PDO drivers first and if it did not solve your problem then below is the issue I have faced before maybe that will help.
You also can search for other database systems.
You also can search for the driver:
Then Run the cmd php artisan migrate
You can also try:
also check the path for php-cli
It looks like you have a missing dependency
You might need to comment out the following in your php.ini file.
Taken from this post: Laravel 5 PDOException Could Not Find Driver . I think I had to do something exactly like this when setting up laravel on digital ocean.
There must be Query like this one in the code implode inside SQL code. check the variable $mistakeIdArr should not be empty.
I have also checked in my code the PDO is enabled or not
im using Ubuntu 16.04 and from my php.ini i have enabled: extension=php_pdo_mysql.dll and extension=php_pdo_sqlite.dll
DB_CONNECTION=sqlite DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database DB_USERNAME=root DB_PASSWORD=secret
and when i write: php artisan migrate
i get this error:
[IlluminateDatabaseQueryException] could not find driver (SQL: select * from sqlite_master where type = ‘table ‘ and name = migrations)
[DoctrineDBALDriverPDOException] could not find driver
[PDOException] could not find driver
Please sign in or create an account to participate in this conversation.
Я пробую изучать Laravel. Начал новый проект по туториалу . .
При вводе комманды :
php artisan migrate
я получаю ошибку:
Что значит : could not find driver (SQL: select * from information_schema.tables where table_schema = blog and table_name = migrations) ?
После установки я удалил и установил заново MySQL, просто пароль забыл.
При переустановке использовал такие комманды:
pkg —get-selections | grep mysql
sudo apt-get remove —purge [everything that came up]
sudo apt-get autoremove && sudo apt-get autoclean
sudo apt-get install mysql-server
sudo apt install php-mysql
Что то устанавливал, не знаю точно что помогло. Наверно
- Вопрос задан более года назад
- 2434 просмотра
А вот здесь вы немного не правы. В файле config/databese.php изначально настройки выглядят так:
Обратите внимание на функцию env(). С помощью этой функции в настройки попадают значения, записанные в файл .env (первый параметр функции), а при отсутствии необходимого значения в этом файле подставляется значение по умолчанию (второй параметр функции). Так что в данном случае файл config/database.php трогать вообще не надо.
Вообще система конфигурации в Laravel устроена так:
В папке config находятся основные файлы с настройками проекта. В этих файлах находятся ВСЕ возможные параметры конфигурации проекта. Само собой разумеется, что все эти параметры должны быть корректно настроены в зависимости от конкретного проекта. Эти файлы должны быть под контролем версий, поскольку иначе при каждом развертывании проекта на новом месте необходимо будет правильно заполнять эти настройки. НО! Существуют ситуации, когда какие-либо настройки зависят не от самого проекта (или не только от проекта), а также от окружения, в котором он развернут. Самый простой пример этого как раз настройки подключения к базе данных. На продакшене имя пользователя и пароль базы данных будут одни, а на компьютерах разработчиков — совсем другие. Именно для реализации этого и добавили файл .env, в котором и прописываются такие настройки, которые зависят от окружения. В свою очередь файлы с конфигурациями из папки config читают значения из этого файла. За счет этого настройки, которые являются общими и неизменными для проекта, можно заполнять в файлах из папки config, а сами эти файлы внести под контроль версий. При развертывании проекта на новом месте все эти настройки уже будут заполнены, и заполнены корректно. Настройки же, которые могут различаются в зависимости от окружения прописываются в фале .env, который не берется под контроль версий и при развертывании проекта необходимо их заполнять.
То есть в двух словах на моем домашнем компьютере (я использую Ubuntu 16.04)
изменять config/database.php не нужно? Просто оставить там все как есть:
?
Попробую изменить все назад.
Спасибо за развернутый ответ, это очень помогает.