将 postgres 与 laravel 连接起来

Posted

技术标签:

【中文标题】将 postgres 与 laravel 连接起来【英文标题】:connecting postgres with laravel 【发布时间】:2017-09-24 01:05:43 【问题描述】:

您好我正在尝试连接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

【问题讨论】:

尝试设置 DB_HOST = localhost 而不是 127.0.0.1 也不行 你可能没有安装 PHP 模块 pgsql。 我通常使用 phpPgAdmin 和 php_pgsql 我使用 wampserver 3.0.6 64 位和 php 7 【参考方案1】:

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

首先用php -v检查你的PHP版本,在我的情况下,版本是php7.4,所以用apt-get install php7.4-pgsql安装必要的驱动程序

终于重启PHP服务器

【讨论】:

【参考方案2】:

我发现解决方法有两个 php.ini 文件

C:\wamp64\bin\apache\apache2.4.9\bin

C:\wamp64\bin\php\php7.0.10

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

【讨论】:

【参考方案3】:

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

【讨论】:

我使用 windows 和我的 php_pgsql 工作我连接 php 和 phppgadmin 没有 laravel 但与 laravel 不工作 这解决了我的问题。我正在尝试php artisan migrate 并得到错误:“could not find driver (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = 'BASE TABLE')” 将驱动程序安装到 Ubuntu 20 解决了问题。谢谢@JohnSimon

以上是关于将 postgres 与 laravel 连接起来的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Jenkins 与 Postgres DB 连接起来

如何将节点 docker 容器与 postgres docker 容器连接起来

Bd Postgres 与 Laravel 的连接?

无法将 AWS-Postgres 服务器与带有 heroku 托管的 Spring Boot 应用程序连接起来

将 VueJS 与 laravel 连接起来

将 XAMPP 中的 phpMyAdmin 与 Laravel 项目连接起来