0

我正在尝试编写一个简单的普通 PHP 页面,该页面使用 mysqli 连接到 Cloud SQL。当我打开 Cloud SQL 代理时,它在我的本地计算机上运行良好。但!它不适用于 Google App Engine。我努力了:

  • 将 127.0.0.1 更改为 Cloud SQL 实例详细信息中所述的公共 IP 地址
  • 添加端口 (3306) 和 db socket ( /cloudsql/<cloud_sql_instance_name>)

    $servername = "127.0.0.1";
    $username = "test";
    $password = "test";
    $dbname = "testdb";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname); 
    
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    echo "\nConnected successfully\n";
    

有什么地方有错误吗?

4

1 回答 1

0

Google App Engine 不像普通的虚拟机。

代理与主应用程序容器一起部署,并有一些非常具体的方式来运行连接。尝试在 GAE 中按原样使用代理总是会失败。

要使其正常工作,您必须按照您正在使用的环境的特定文档中的说明进行操作:

请注意,在这两个实例上,您将如何直接连接到 Unix 套接字,而不是实例/代理 IP。

于 2018-08-14T12:51:22.500 回答