PHP 连接到 Cloud SQL 实例超时

标签 php mysql google-cloud-platform web-hosting

以下是我用于连接数据库(MySQL 的 Cloud SQL 实例)的 PHP 代码:

define('DB_SERVER', '192.0.0.1');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'db');

$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME) or die(mysqli_connect_error());

显然,DB_SERVER 不是实际的 IP 地址,也不是凭据,但我确实输入了一个虚拟地址,看看是否需要添加类似 cloudsql:/jdbc:// 就像在 Java 中一样。

我确实在 Cloud SQL 上授权了网络服务器的 IP 地址,但它返回的只是连接超时错误;我可以做什么来解决这个问题?

我确信凭据是正确的,并且我可以从其他授权的 IP 地址进行连接,因为我已经能够通过 MySQL 工作台从另一个帐户和多个 IP 地址进行访问。

最佳答案

已解决:

对于使用 Siteground 服务的任何人,如果您使用公共(public) IP 授权,请务必添加 0.0.0.0/0 作为接受的 IP 地址。然后在刷新 php 页面时,通过在刷新页面后立即运行以下命令来查找连接的 IP:

SELECT host FROM information_schema.processlist WHERE ID=connection_id();

它应该为您提供多个 IP,并使用 IP 定位器在线检查它们,看看它们是否与 Siteground 服务的位置匹配。删除 0.0.0.0/0 并将该 IP 地址添加到 Google Cloud SQL。

关于PHP 连接到 Cloud SQL 实例超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56891807/

相关文章:

python-3.x - 当云函数下载某些内容时,对象存储在哪里?

google-cloud-platform - 使用 GCP API 网关通过私有(private)入口将 Cloud Run 后端前置

php - WooCommerce - 为某些特定用户角色启用 "Zero rate"税级

php - 如何用 PHP 在图像上只隔离一种颜色?

php - Prestashop Web 服务返回 JSON

php - 托管站点发生错误

php - 在mysql数据库表单元格中插入链接

php - CodeIgniter:无法使用提供的设置连接到数据库服务器错误消息

php - 同时运行多个 cron 作业时如何克服服务器负载问题?

angular - 在Google Container Builder上使用Docker构建Angular应用程序失败