gpt4 book ai didi

laravel - 使用 PostgreSQL 将 Laravel 连接到 GAE Cloud SQL 数据库

转载 作者:行者123 更新时间:2023-11-29 13:41:35 25 4
gpt4 key购买 nike

我正在将新应用程序部署到 Google App Engine Flex 环境。该应用程序由 Laravel 提供支持。

我可以连接到我本地机器上的数据库,但是,一旦我部署了我的应用程序,我就无法连接到数据库。

我需要在 app.yaml 文件中包含哪些信息才能连接到数据库?我是否需要其他文件中的任何其他信息?

"message": "SQLSTATE[08006] [7] 无法连接到服务器:连接被拒绝\n\t服务器是否在主机\"localhost\"(::1) 上运行并接受\n\t端口 5432 上的 TCP/IP 连接?\n无法连接到服务器:连接被拒绝\n\t服务器是否在主机“本地主机”(127.0.0.1) 上运行并接受\n\t端口 5432 上的 TCP/IP 连接?( SQL: select * from\"users\"where\"email\"= mitchell@efficialtec.com and\"users\".\"deleted_at\"is null limit 1)",

这是我的 .ENV 文件的内容,它允许我在本地连接

APP_ENV=development
APP_KEY=base64:B0G3Yr82fWO7xw8LrvcOC19DGUAEd32loJlPHCfP2sg=
APP_DEBUG=true

LOG_CHANNEL=stack


DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_POST=5432
DB_DATABASE=DATABASE
DB_USERNAME=USERNAME
DB_PASSWORD=PASSWORD
DB_SOCKET: "/cloudsql/CONNECTION_NAME"

这是我的 app.yaml 文件的内容:

env: flex     # let app engine know we use flexible environment
service: SERVICENAME

automatic_scaling:
min_num_instances: 1
max_num_instances: 2
cpu_utilization:
target_utilization: 0.8

runtime_config:
document_root: public

skip_files:
- .env #we want to skip this to make sure we don’t mess stuff up on the server

env_variables:
# Put production environment variables here.
APP_ENV: development
APP_DEBUG : true # or false
APP_KEY: base64:B0G3Yr82fWO7xw8LrvcOC19DGUAEd32loJlPHCfP2sg=
APP_LOG: daily
APP_TIMEZONE: UTC #your timezone of choice


# Replace USER, PASSWORD, DATABASE, and CONNECTION_NAME with the
# values obtained when configuring your Cloud SQL instance.
POSTGRES_USER: USERNAME
POSTGRES_PASSWORD: PASSWORD
POSTGRES_DSN: pgsql:dbname=bnsw;host=/cloudsql/CONNECTION_NAME"

DB_HOST: localhost
DB_DATABASE: DATABASE
DB_USERNAME: USERNAME
DB_PASSWORD: PASSWORD
DB_SOCKET: "/cloudsql/CONNECTION_NAME"

beta_settings:
cloud_sql_instances: "CONNECTION_NAME"

如有任何帮助,我们将不胜感激,我已经在 Google 上搜索了将近一个星期,但仍未找到答案!

最佳答案

默认情况下,Laravel 在pgsql 连接下没有DB_SOCKET。因此,为了从 App Engine 连接到云 SQL 连接,您的环境显示如下:

DB_CONNECTION=pgsql
DB_HOST=/cloudsql/CONNECTION_NAME
DB_DATABASE=DATABASE
DB_USERNAME=USERNAME
DB_PASSWORD=PASSWORD

另外请不要在数据库环境变量中包含 DB_PORT。

关于laravel - 使用 PostgreSQL 将 Laravel 连接到 GAE Cloud SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54501305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com