将 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 容器连接起来