Как запустить один PHP-файл в облаке Google?

Я хочу создать PHP-файл, который сохраняет информацию в базе данных. Эта информация предоставляется в формате JSON с использованием POST url.

Если бы это был 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-файл, мы получаем url, и если вы передаете данные на этот url, желаемая операция выполняется. URL будет примерно таким, и мы можем получить к нему доступ из любого места:

«HTTP: //****server_name*****/****file_name****.php»

Теперь я хочу сделать то же самое с помощью Google Cloud. Я создал базу данных в облаке SQL. Но я не понимаю, где создать файл PHP, как получить доступ к базе данных в этом файле PHP и каков будет URL.

Может кто-нибудь, пожалуйста, помогите, поскольку я новичок в Google Cloud. Спасибо!!!

0

Решение

Один из вариантов — написать Google App Engine (GAE) PHP приложение для него и развернуть / запустить его на GAE (GAE позаботится обо всем ниже). Более простой IMHO плюс потенциально бесплатный (в зависимости от использования вашего приложения).

Другой вариант заключается в использовании Виртуальная машина Google Compute Engine (GCE) и управляйте / запускайте свое приложение (и все необходимые ниже) самостоятельно.

И GAE, и GCE являются продуктами Google Cloud.

1

Другие решения

Вы можете развернуть свой код в 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');

Документы по использованию Google Cloud SQL в стандарте GAE env Вот

(Я предлагаю вам использовать Гибкая среда скорее Стандартная среда, который не требует от вас большой работы.
Вот небольшой набор слайдов, который я сделал для сессии на начало работы с GAE Flexible env с Php )

0

По вопросам рекламы ammmcru@yandex.ru