为了账号安全,请及时绑定邮箱和手机立即绑定

Google Cloud SQL 和 Google App Engine 之间的连接 - 超时

Google Cloud SQL 和 Google App Engine 之间的连接 - 超时

PHP
梵蒂冈之花 2021-06-21 17:03:32
我正在设置一个需要连接到云端数据库的应用程序(google cloud sql)。我有一个连接到数据库并返回我需要的所有数据的 php 文件。它在本地主机上运行良好,但我无法让它在云上运行。这是我的 .php 文件:<?php$conn = mysqli_connect("[MY_GOOGLE_SQL_PUBLIC_IP]", "root", "123", "mysql");if (!$conn) {    echo "Error: Unable to connect to MySQL." . PHP_EOL;    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;    exit;}else{echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;}mysqli_close($conn);?>这是我的 app.yaml:runtime: php55handlers:- url: .*  script: cloud-test.phpbeta_settings:    cloud_sql_instances: "cloudtest-2412**:southamerica-east1:store"如果我在我的本地主机 (127.0.0.1:8888) 上运行 php 文件,我会发现与 google sql 上的数据库建立了连接。但是当我将(gcloud app deploy)部署到应用引擎并尝试访问google提供的url时,出现以下错误:错误:无法连接到 MySQL。调试错误号:2002 调试错误:连接超时*sql 数据库和应用引擎在同一个项目中,所以我不需要给予任何特殊权限(就像我在本地主机上访问时必须授予我本地 ip 的权限一样)有任何想法吗??
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

使用Instance connection namecloudtest-2412**:southamerica-east1:store)代替MY_GOOGLE_SQL_PUBLIC_IP连接。

您可以在 Cloud SQL 实例的实例详细信息页面上找到它。


查看完整回答
反对 回复 2021-06-25
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信