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
Вот все соответствующие скриншоты:
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 на окнах. Поделиться наиболее важными шагами, чтобы это могло быть полезно для всех, кто там.
- Установите Apache согласно https://www.sitepoint.com/how-to-install-apache-on-windows/. В моем случае я установил Apache 2.4
- Установите PHP как модуль Apache - https://www.sitepoint.com/how-to-install-php-on-windows/ (я скачал версию с поддержкой потоков PHP для Windows 64)
Если вы получаете оба выше, чтобы работать должным образом. Установите Laravel в htdocs и попробуйте команду php artisan migrate.