You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用纯PHP连接并从Google Cloud SQL中获取数据?

纯PHP连接Google Cloud SQL的实现方法

当然可以只用纯PHP连接Google Cloud SQL!完全不需要你提到的那些App Engine、Composer之类的工具,咱们直接修改你给出的代码就能搞定,分两种常见场景给你说明:

场景1:本地开发/外部服务器通过公网IP连接

首先你得先在Google Cloud控制台里做个关键设置:找到你的Cloud SQL实例,进入连接选项卡,在公共IP区域里把你当前开发机或者外部服务器的公网IP添加到授权网络列表里——这一步必须做,不然Cloud SQL会拒绝你的连接请求。

接下来修改你的代码,核心就是把原来的localhost换成Cloud SQL实例的公网IP地址(这个IP同样在控制台的实例详情里能找到),其他用户名、密码、数据库名用你创建Cloud SQL时设置的信息就行:

<?php
$servername = "你的Cloud SQL实例公网IP";
$username = "你的数据库用户名";
$password = "你的数据库密码";
$dbname = "你的数据库名";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 循环输出查询结果
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - 姓名: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "没有查询到结果";
}

mysqli_close($conn);
?>

场景2:部署在Google Cloud服务上(比如Compute Engine)用套接字连接

如果你的PHP应用是部署在Google Cloud自家的服务上,更推荐用Unix套接字连接——这种方式不需要开放公网IP,安全性更高,而且延迟更低。修改方式如下:

<?php
$servername = "localhost";
$username = "你的数据库用户名";
$password = "你的数据库密码";
$dbname = "你的数据库名";

// 通过Unix套接字创建连接,替换成你的实例连接名
$conn = mysqli_connect(
    $servername,
    $username,
    $password,
    $dbname,
    null,
    "/cloudsql/你的项目ID:区域:实例名"
);

// 检查连接是否成功
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 循环输出查询结果
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - 姓名: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "没有查询到结果";
}

mysqli_close($conn);
?>

这里的套接字路径格式是/cloudsql/项目ID:区域:实例ID,你可以在Cloud SQL控制台的实例详情里找到完整的实例连接名,直接复制过来就行。

额外注意事项

  • 确保你使用的数据库账号拥有访问目标数据库的权限
  • 本地开发时,别忘了检查你的防火墙是否放行3306端口(MySQL默认端口)
  • 生产环境优先选择套接字或私有IP连接,避免用公网IP暴露数据库

内容的提问来源于stack exchange,提问作者bubbahut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:48:49