2016-08-16 74 views
0

我想創建一個保存數據庫信息的php文件。這些信息使用POST URL以JSON格式提供。如何在Google雲上運行單個php文件?

如果是phpMyAdmin的,我們會做如下:

<?php 
    $con = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_DATABASE); 
    if(mysqli_connect_errno()){ 
     echo "Error connecting to database"; 
    }else{ 
     $json = file_get_contents('php://input'); 
     $obj = json_decode($json); 
     $x = $obj->{'x'}; 
     $y = $obj->{'y'}; 
     $z = $obj->{'z'}; 

     $query = "INSERT INTO table_name VALUES('$x', '$y', '$z')"; 
     $result = $con->query($query); 
     if(!$result){ 
      die("Data base error"); 
     } 
    } 

要運行上述PHP文件,我們得到的網址,如果你將數據傳遞到該網址,執行所需的操作。該網址將是這樣的,我們可以從任何地方訪問它:

「HTTP://****server_name*****/****file_name****.php」

現在,我想用Google Cloud做同樣的事情。我在Cloud SQL中創建了數據庫。但是,我沒有得到在哪裏創建PHP文件,如何訪問此PHP文件中的數據庫以及URL是什麼。

有人可以請我幫忙,因爲我是Google Cloud的新手。謝謝!!!

回答

1

一種選擇是爲它編寫一個Google App Engine (GAE) PHP應用程序,並在GAE上部署/運行它(GAE負責爲您提供所有基礎知識)。簡單的恕我直言加上可能免費(取決於您的應用程序使用情況)。

另一種選擇是使用Google Compute Engine (GCE) VM並自己管理/運行您的應用程序(以及所有需要的infra)。

GAE和GCE都是Google Cloud產品。

+0

你可以請提供一些代碼,這將是非常有用的。我已經閱讀了文檔,但無法理解和弄清楚。 – Ash

+0

不是,我使用python,而不是PHP。檢查教程,其中大多數在github上都有代碼示例。 –

0

您可以在GAE中部署代碼,而不會有太多麻煩。

您可以簡單地在您的項目文件夾中定義app.yaml並將其部署到GAE。

在您的app.yaml中,您可以定義連接詳細信息。

runtime: php55 
api_version: 1 
threadsafe: true 

handlers: 
- url: /.* 
    script: index.php 

# [START env] 
env_variables: 
    # Replace project, instance, database, user and password with the values obtained 
    # when configuring your Cloud SQL instance. 
    MYSQL_DSN: mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE 
    MYSQL_USER: root 
    MYSQL_PASSWORD: '' 
# [END env] 

您可以定義代碼本身的連接細節(但不要;)),或在app.yaml定義如上並調用您的代碼中值getenv('MYSQL_PASSWORD');上使用谷歌

文檔雲SQL GAE上標準ENV here

(我建議你使用Flexible EnvironmentStandard Environment,它不需要你做太多的工作。 這裏是我做了一個會議getting started on GAE Flexible env with Php小滑集)