簡體   English   中英

無法從Google App Engine靈活環境PHP項目連接到Cloud SQL實例

[英]Cannot connect to cloud sql instance from google app engine flexible environment PHP project

我正在嘗試在Google App Engine靈活環境上部署測試php項目。

我的app.yaml看起來像這樣:

*

runtime: php
env: flex
service: testphpflex
manual_scaling:
  instances: 1
#[START cloudsql_settings]
# Use the connection name obtained when configuring your Cloud SQL instance.
beta_settings:
    cloud_sql_instances: "my-first-project:us-central1:tempdb"
#[END cloudsql_settings]

*

composer.json如下所示:

{
    "require": {
        "silex/silex": "^1.3",
        "php": "5.6.*",
        "google/apiclient": "^2.0"

    },
    "require-dev": {
        "google/cloud-tools": "^0.6",
        "paragonie/random_compat": "^2.0",
        "phpunit/phpunit": "~4"
    }
}

我的示例代碼如下所示:

<?php
 $conn = mysql_connect('unix_socket:/cloudsql/my-first-project:us-central1:tempdb',
         'username', 
         'password'
     );

     echo "<br><br/>connection done";
if(!$conn)
{
die('Connection Failed'.mysql_error());
}
else 
{
die('Connection successful');
}

?>

但是,我無法連接。 怎么了?

我的假設是未啟用Google Cloud SQL API。

轉到以下鏈接,查看是否已啟用。 如果沒有啟用它。

https://console.cloud.google.com/apis/api/sqladmin.googleapis.com/overview?project=_

然后嘗試重新部署該應用程序(不幸的是,您需要再次部署它)。 在這種情況下,這是在App Engine flexible PHP 7.0上連接到第二代Cloud SQL的雙重方式-缺少套接字

Google雲端支持告訴我mysql_connect已過時。 自5.5起,PHP就已棄用該功能,因此不支持此功能。 因此不支持以上內容。

我想我理解您為什么會收到錯誤消息。

您應該使用:

mysql_connect(':/cloudsql/my-first-project:us-central1:tempdb',

要么

mysql_connect('localhost:/cloudsql/my-first-project:us-central1:tempdb',

根據手冊http://php.net/manual/en/function.mysql-connect.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM