Laravel Homestead "не удалось найти драйвер" при использовании терминала git

когда я использую терминал git в Windows и пытаюсь запустить «php artisan migrate» для миграции моих таблиц, я получаю эту ошибку:

1 PDOException::("could not find driver")

Но когда я вхожу через ssh в свой виртуальный ящик «vagrant ssh», он отлично работает, когда я перехожу в папку сайта и запускаю «php artisan migrate».

По какой причине это происходит? Как я могу это исправить?

Полное сообщение об ошибке:

$ php artisan migrate

   Illuminate\Database\QueryException  : could not find driver (SQL: select * fr
om information_schema.tables where table_schema = aff and table_name = migration
s)

  at C:\Users\jarro\Documents\sites\aff\vendor\laravel\framework\src\Illuminate\
Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll
 format the error
    661|         // message to include the bindings with SQL, which will make th
is exception a
    662|         // lot more helpful to the developer instead of just the databa
se's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("could not find driver")
      C:\Users\jarro\Documents\sites\aff\vendor\laravel\framework\src\Illuminate
\Database\Connectors\Connector.php:68

  2   PDO::__construct("mysql:host=192.168.10.10;port=3306;dbname=aff", "homeste
ad", "secret", [])
      C:\Users\jarro\Documents\sites\aff\vendor\laravel\framework\src\Illuminate
\Database\Connectors\Connector.php:68

  Please use the argument -v to see more details.

У вас установлен mysql на вашем локальном компьютере?

Spholt 01.05.2018 17:57

Вы проверяли php -m на наличие расширения pdo_mysql?

mim. 01.05.2018 18:02

@Spholt да, у меня установлены усилители. ampps.com поставляется с MySQL. Мне нужно удалить это и попробовать снова?

user7995285 01.05.2018 18:08

@mim. php -m предоставляет PDO как одну из опций, так что я предполагаю, что он установлен!

user7995285 01.05.2018 18:09

Можете ли вы подключиться к своей базе данных через командную строку, используя учетные данные, указанные в исключении? (host=192.168.10.10;port=3306;dbname=aff). Коробка твоей усадьбы работает?

Spholt 01.05.2018 18:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
1 189
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

когда вы используете php artisan migrate или seed, вам нужно зайти внутрь терминала виртуальной машины Hometead и запустить эти команды, иначе он не удастся, потому что он найдет виртуальную машину mysql, а не ваши окна mysql

  1. homestead ssh
  2. cd Code/yourapp
  3. php artisan migrate или php artisan db:seed

Я предполагаю, что у вас есть как navicat или любой просмотрщик баз данных, который может получить доступ к вашей виртуальной машине mysql, чтобы отслеживать, работают ли ваши команды или нет.

Я собираюсь начать так: D Спасибо за вашу поддержку

user7995285 01.05.2018 18:32

Я обнаружил, что это работает лучше. Хотя вы можете делать то, что сказал Уинстон (помечен как правильный ответ) после некоторого времени, я удалил Ampps, загрузил Xampp, переустановил composer и поместил путь php exe в xampp. Теперь я могу делать все на своем локальном компьютере, а не на виртуальной машине.

Просто подумал, что брошу это сюда! : D

У меня была такая же проблема, это из-за неправильного хоста db в файле /.env:

DB_HOST=127.0.0.1

Установите его на свой бродячий хост (для меня homestead.test):

DB_HOST=homestead.test

Ожидается, что вы сопоставили его с файлом хостов Windows:

192.168.10.10 homestead.test

Попробуйте уничтожить Vagrant Virtual Machine, затем снова запустите Vagrant. Это воссоздает вашу виртуальную машину Vagrant.

Выполните эти команды с терминала в папке Homestead, где находится файл Vagrant.

Команды:

  1. vagrant destroy --force
  2. vagrant up

Другие вопросы по теме