Прежде всего, проблема в том, что Laravel не postgresql или PHP.Я могу подключить postgresql с помощью простого файла PHP.Но Laravel не может это сделать каким-то образом.
Когда я пытаюсь подключить сервер postgresql на моем компьютере с помощью laravel, я получаю сообщение об ошибке «PDOException with message 'not find driver'».Я получаю эту ошибку, когда я запускаю команду DB::connection()->getPdo();
на ремесленнике.
Если я запускаю команду php artisan migrate
, ошибка составляет Illuminate\Database\QueryException : could not find driver (SQL: select * from information_schema.tables where table_schema = public and table_name = migrations and table_type = 'BASE TABLE')
Моя конфигурация ниже:
- Windows 10
- Wamp Server 3.1.4
- Apache 2.4.35
- PHP 7.2.10
- Laravel Framework 6.0.3
Связанные строки файла Laravel .env:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel_dnm1
DB_USERNAME=postgres
DB_PASSWORD=mrd.BE.265
Связанные строки файла Laravel database.php:
'default' => env('DB_CONNECTION', 'pgsql'),
...
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
Когда я запускаю print_r(PDO::getAvailableDrivers());
на моем сервере, я получаю вывод ниже:
Array ([0] => mysql [1] => pgsql [2] => sqlite)
Связанные строки информации о php приведены ниже:

ПРИМЕЧАНИЕ. При использовании mysql вместо postgresql проблем не возникает.
ПРИМЕЧАНИЕ 2. Я могу подключиться к БД, когда использую обычный PHP.Только Ларавел дает эту ошибку.