我正在将新应用程序部署到Google App Engine Flex环境。该应用程序由Laravel提供支持。
我能够连接到本地计算机上的数据库,但是,一旦部署应用程序,我将无法连接到数据库。
我需要在app.yaml文件中包含哪些信息才能连接到数据库?我是否需要其他文件中的其他信息?
public getData(): void {
this.state.items
}
这是我的.ENV文件的内容,允许我在本地连接
"message": "SQLSTATE[08006] [7] could not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432? (SQL: select * from \"users\" where \"email\" = mitchell@efficialtec.com and \"users\".\"deleted_at\" is null limit 1)",
这是我的app.yaml文件的内容:
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"
在此方面的任何帮助将不胜感激,我已经在Google上搜索了将近一个星期,但仍未找到答案!
答案 0 :(得分:0)
默认情况下,Laravel在pgsql
连接下没有DB_SOCKET。
因此,为了从应用程序引擎连接到云SQL连接,您的环境显示如下:
DB_CONNECTION=pgsql
DB_HOST=/cloudsql/CONNECTION_NAME
DB_DATABASE=DATABASE
DB_USERNAME=USERNAME
DB_PASSWORD=PASSWORD
也请不要在数据库环境变量中包含DB_PORT。