PostgreSQL, WAMP, Laravel 5.5 - исключение "сбрасывает php artisan migrate", "драйвер не найден"

Я получаю исключение PDO "Драйвер не найден" при попытке подключиться к базе данных PostgreSQL, и я не могу понять, что происходит. Вот системные характеристики:

WampServer версия 3.0.3 64bit
PHP 7.1.10
Apache 2.4.9
Laravel 5.5

Я скачал PosgtreSQL 10 (Windows x86-64) отсюда - EnterpriseDB

Вот все соответствующие скриншоты:

ошибка

Конфигурация базы данных

Расширения PHP

Информация о PHP

PG Admin

Переменные среды

extension_loaded('pgsql')

возвращает истину

Единственное несоответствие, которое я вижу, заключается в том, что я скачал PostgreSQL 10, а в PHP Info говорится, что версия PostgreSQL(libpq) - 9.6.2. Может ли это быть проблемой?

РЕДАКТИРОВАТЬ:

Я заменил PostgreSQL 10 на 9.6.5 (единственная доступная версия 9.6), и это не решило проблему.

РЕДАКТИРОВАТЬ 2:

$dbh = new PDO("pgsql:dbname=laravel_admin_api;host=127.0.0.1", "postgres", "admin");
echo $dbh ? "connected" : "failed";

возвращается connected, Значит, это проблема Laravel?

РЕДАКТИРОВАТЬ 3:

Итак, соединение с базой данных работает, я создал таблицу и вставил строку вручную через pgAdmin, а затем вызвал

\App\User::all()->toArray()

и это сработало. Так что на самом деле php artisan migrate что есть проблемы, и бросая could not find driver исключение. Все еще озадачен этим.

1 ответ

Я столкнулся с той же проблемой, и я попробовал несколько решений через Интернет. Ни один из них не работал для меня, и, наконец, я мог заставить его работать, установив Apache 2.4 и php 7.2.7 отдельно вместо использования Xamp или Wamp на окнах. Поделиться наиболее важными шагами, чтобы это могло быть полезно для всех, кто там.

  1. Установите Apache согласно https://www.sitepoint.com/how-to-install-apache-on-windows/. В моем случае я установил Apache 2.4
  2. Установите PHP как модуль Apache - https://www.sitepoint.com/how-to-install-php-on-windows/ (я скачал версию с поддержкой потоков PHP для Windows 64)

Если вы получаете оба выше, чтобы работать должным образом. Установите Laravel в htdocs и попробуйте команду php artisan migrate.

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