PHP 连接到 Cloud SQL 实例超时
PHP times out connecting to Cloud SQL instance
这是我的 PHP 连接数据库的代码,MySQL 的 Cloud SQL 实例:
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:/
或 [=15 之类的内容=] 就像你在 Java 中所做的那样。
我确实在云 SQL 上授权了网络服务器的 IP 地址,但它 returns 是一个 Connection Timed Out
错误;我该怎么做才能解决这个问题?
我确信凭据是正确的,并且我可以从其他授权的 IP 地址连接,因为我已经能够通过 MySQL [=32 从另一个帐户和多个 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 连接数据库的代码,MySQL 的 Cloud SQL 实例:
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:/
或 [=15 之类的内容=] 就像你在 Java 中所做的那样。
我确实在云 SQL 上授权了网络服务器的 IP 地址,但它 returns 是一个 Connection Timed Out
错误;我该怎么做才能解决这个问题?
我确信凭据是正确的,并且我可以从其他授权的 IP 地址连接,因为我已经能够通过 MySQL [=32 从另一个帐户和多个 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。