将 postgres 与 laravel 连接

问题描述 投票:0回答:4

您好,我正在尝试将 laravel 5.4 与 postgres 连接,更新数据库配置文件并运行

php artisan migrate
后,出现以下错误:

[Illuminate\Database\QueryException]
 could not find driver (SQL: select * from information_schema.tables where t
 able_schema = public and table_name = migrations)
[PDOException]
 could not find driver

这是我的

.env
文件

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=Portail
DB_USERNAME=php
DB_PASSWORD=php

这是我的

database.php
文件

'default' => env('DB_CONNECTION', 'pgsql'),
 'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'Portail'),
            'username' => env('DB_USERNAME', 'php'),
            'password' => env('DB_PASSWORD', 'php'),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer', ], 

我通常使用 phpPgAdmin

php postgresql laravel laravel-5 laravel-5.4
4个回答
13
投票

sudo apt-get install php-pgsql。这是在linux中安装php pgsql驱动的命令


4
投票

我在 Ubuntu18.04 上使用 php7.4 时遇到了类似的问题 解决方案:

  • 首先使用

    php -v
    检查 PHP 版本,在我的例子中,版本是 php7.4,因此使用
    apt-get install php7.4-pgsql

    安装必要的驱动程序
  • 最后重启PHP服务器


2
投票

我找到了解决方案,有两个 php.ini 文件

  • C:\wamp64 在 pache pache2.4.9 中

  • C:\wamp64 在\php\php7.0.10

我必须在两个文件中取消注释 php_pdo_pgsql.dll 和 php_pgsql.dll 谢谢大家的帮助


0
投票

对于使用 XAMPP 的用户,导航到

C:\xampp\php
文件夹并打开 php.ini 文件,然后通过删除前面的 来启用
pdo_pgsql
pgsql
扩展; (分号)在这些行上;
extension=pdo_pgsql
extension=pgsql
有关更多详细信息,请访问 https://neutrondev.com/setup-postgresql-in-xampp-for-windows/

© www.soinside.com 2019 - 2024. All rights reserved.