应用引擎无法连接到 sql 数据库

app engine unable connect to sql database

我正在尝试在 App Engine 中制作 Web 应用程序。我在应用程序中加载了一个 php 脚本,该脚本从云 sql 中的数据库中提取数据。我正在使用以下方法连接到数据库。

$db = new mysqli(null, 'root', '', $dbname, null, 
      '/cloudsql/<project-id>:<sql instance id>');  

我遇到了错误

Unable to connect to database [MySQL server has gone away]

这通常意味着它甚至找不到 MySQL 实例。这可能是由于输入了错误的实例名称引起的。您可能希望将您使用的确切代码通过电子邮件发送给 cloud-sql@google.com。请在您的电子邮件中添加一个 link 到此线程。

我使用的是第二代云 sql。目前第二代不支持应用引擎。只有第一代云 sql 可以与 App Engine 一起使用。 Google 的文档很差。在第二代云中创建实例时甚至没有提到这一点 sql。只有计算引擎可以使用第二代云 sql.

使用此代码连接到您的 SQL 数据库:

$con = mysqli_connect(null, 'root', 'password', 'db_name',null,'/cloudsql/instance connection name');

注意:您将在 SQL 部分下找到您的实例连接名称。