Windows 10 PDOException с сообщением "не удалось найти драйвер" Laravel 5.6.33 Wampserver 3.1.7 x86
Я знаю, что есть много вопросов по этой теме, касающихся Stackru, но моя проблема в том, что у меня уже нет комментариев к расширениям php, я внес необходимые изменения в database.php и.env, и я объявил и использовал необходимый путь к среде. Единственное, что я не сделал, это установил composer из-за моих ограничений прокси. У меня есть прокси-сервер поверх Kerberos Windows AD, и по какой-то причине больше ничего не работало с адресом прокси-сервера, портом и учетными данными (пользователь и пароль), поэтому я нашел этот веб-сайт для загрузки библиотек php и их зависимостей без composer и удалось заставить Laravel 5.6.33 работать или, по крайней мере, по-видимому, потому что, когда я пытался позвонить: C:\wamp\www\laravel> php artisan migrate:install
я получил следующую ошибку:Illuminate\Database\QueryException : could not find driver (SQL: create table "migrations" ("id" serial primary key not null, "migration" varchar(255) not null, "batch" integer not null))
и следующая трассировка исключений: `трассировка исключений:
1 PDOException::("не удалось найти драйвер") C: \ wamp \ www \ laravel \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connectors \ Connector.php: 68
2 PDO:: __ construct ("pgsql: host = localhost; dbname = tienda; port = 5432", "postgres", "admin123", []) C: \ wamp \ www \ laravel \ vendor \ laravel \ framework \ src \ осветить \Database\Connectors\Connector.php:68`
Я должен сказать, что я работаю на Windows 10 версии 10.0.17134.1 64 бит и мой сервер wamp 3.1.7 с php 7.2.14
Любая помощь или указатель по этому вопросу будут оценены
1 ответ
После долгих исследований и разочарований я решил попробовать xampp и обнаружил, что при установленном xampp xampp-win32-7.3.0-0-VC15.exe правильные расширения включены в php.ini.
extension=pdo_pgsql
extension=pgsql
который в случае Xamp расположен в
C:\ XAMPP \ PHP
Я установил путь для xampp php в Windows 10 Ent, это C:\xampp\php, а затем запустил команду
php C:\wamp\www\laravel> php ремесленник тинкер
после того как в тинкере консоль запустится
Psy Shell v0.9.9 (PHP 7.3.0 - cli), Джастин Хилман
>>> DB::connection()->getPdo()
И я получил то, на что надеялся:
=> PDO {#2863
inTransaction: false,
attributes: {
CASE: NATURAL,
ERRMODE: EXCEPTION,
PERSISTENT: false,
DRIVER_NAME: "pgsql",
SERVER_INFO: "PID: 1764; Client Encoding: UTF8; Is Superuser: on; Session Authorization: postgres; Date Style: ISO, MDY",
ORACLE_NULLS: NATURAL,
CLIENT_VERSION: "9.6.9",
SERVER_VERSION: "9.6.11",
STATEMENT_CLASS: [
"PDOStatement",
],
EMULATE_PREPARES: false,
CONNECTION_STATUS: "Connection OK; waiting to send.",
DEFAULT_FETCH_MODE: BOTH,
},
}
Ответ, который означает, что он нашел драйвер, который всегда был там и мог использовать для доступа к базе данных, которая уже была установлена и работает.
Остальные настройки, сделанные в wamp с виртуальным хостом и расширениями, включенными в версии PHP 7.3.1, одинаковы и работают как шарм.
Я надеюсь, что это может помочь другим, пока команды Wamp и Laravel не найдут способ сделать Laravel
php ремесленник мигрировать
команда для работы с wamp 3.1.7 только для архитектуры x86.