Cómo ejecutar Hello World con PHP

Empezar a desarrollar aplicaciones PHP que funcionen en Google Cloud Platform es fácil. Y debido a que las aplicaciones que crees se ejecutarán en la misma infraestructura que se usa en todos los productos de Google, puedes tener la tranquilidad de que se escalarán para atender a todos tus usuarios, ya sean unos pocos o millones de ellos. Con este tutorial podrás empezar rápidamente con el despliegue de una sencilla aplicación Hello World.

En este tutorial se da por hecho que estás familiarizado con PHP y que tienes instalada la versión 5.6, 7.0 o 7.1. También debes descargar Composer. En este tutorial se supone que el archivo ejecutable de Composer está instalado globalmente.

Este tutorial forma parte de la serie de introducción a PHP en Google Cloud Platform. Después de completar los requisitos previos enumerados en Antes de empezar, el tutorial se completa en aproximadamente 10 minutos.

Antes de empezar

Antes de ejecutar esta muestra, sigue estos pasos:

  1. Usa la consola de GCP para crear un nuevo proyecto de GCP, crear una aplicación de App Engine y habilitar la facturación:
    Ir a App Engine

    Cuando se te solicite, selecciona la región donde deseas ubicar tu aplicación de App Engine y habilita la facturación.

  2. Previamente, instala los siguientes recursos de forma local:
    1. Descarga e instala git.
    2. Descarga e instala Composer. Asegúrate de que el ejecutable de Composer esté instalado globalmente.
    3. Descarga, instala e inicializa el SDK de Google Cloud:
      Descargar el SDK
  3. Como alternativa, puedes usar Google Cloud Shell, que ya tiene instalados los recursos mencionados.

Ejecutar aplicaciones PHP en el entorno flexible de Google App Engine

El entorno flexible de App Engine te permite desplegar y ejecutar fácilmente aplicaciones web PHP estándar. El entorno flexible proporciona la infraestructura de escalado, supervisión y balanceo de carga necesaria para que solo tengas que centrarte en crear tu aplicación.

Para ejecutar una aplicación de PHP en el entorno flexible, necesitas:

  • Un archivo app.yaml que describe la configuración del tiempo de ejecución de tu aplicación

Descargar y ejecutar la aplicación

Disponemos de Hello World, una sencilla aplicación de muestra escrita en PHP, para que te hagas una idea rápidamente de cómo puedes desplegar una aplicación en Cloud Platform. Una vez que hayas completado los requisitos previos, descarga y despliega la aplicación de muestra Hello World. Esta sección es una guía para obtener el código y ejecutar la aplicación localmente.

Clona la aplicación Hello World

Copia la aplicación de muestra Hello World en tu máquina local:

git clone https://github.com/GoogleCloudPlatform/getting-started-php.git

Accede al directorio que contiene el código de muestra:

cd getting-started-php/1-hello-world

También puedes descargar la muestra en formato zip y extraerla.

Ejecuta la aplicación en tu ordenador local

Para ejecutar la aplicación Hello World en tu ordenador local:

  1. Instala las dependencias:

    composer install
    
  2. Inicia un servidor web local.

    php -S localhost:8000 -t web
    
  3. Introduce la siguiente dirección en el navegador web:

    http://localhost:8000
    

Puedes ver el mensaje Hello World de la aplicación de muestra en la página. Esta página la proporciona un servidor web que se ejecuta en tu ordenador.

Cuando estés listo para continuar, pulsa Ctrl + C para finalizar el proceso del servidor web local.

Revisión del código de Hello World

El archivo index.php contiene el código PHP para iniciar un servidor y responder a las solicitudes. Este ejemplo usa Silex, pero puedes usar otros frameworks web PHP.

Este código crea un nuevo objeto Application de Silex y define dos rutas GET:

require_once __DIR__ . '/../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/', function () {
    return 'Hello World';
});

$app->get('/goodbye', function () {
    return 'Goodbye World';
});

// @codeCoverageIgnoreStart
if (PHP_SAPI != 'cli') {
    $app->run();
}
// @codeCoverageIgnoreEnd

return $app;

Ejecutar Hello World en Cloud Platform

Esta sección es una guía para desplegar la aplicación Hello World en el entorno flexible de App Engine. El diagrama muestra el proceso de despliegue y ejecución de la aplicación en Cloud Platform.

Proceso y estructura de despliegue de la aplicación Hello World

El entorno flexible de App Engine ejecuta contenedores para aprovisionar instancias de Compute Engine. El número de instancias se escala en función del tráfico. Para obtener más información, consulta el artículo sobre el entorno flexible de App Engine. Para obtener información sobre las alternativas al entorno flexible, consulta el artículo sobre los servicios de Google Cloud Platform.

Desplegar la aplicación en Cloud Platform

Introduce este comando para desplegar la muestra:

gcloud app deploy

Ver cómo se ejecuta la aplicación en la nube

Introduce la siguiente dirección en el navegador web:

https://<your-project-id>.appspot.com

Esta vez, la página que muestra el mensaje Hello World la proporciona un servidor web ejecutado en Google Cloud Platform.

Si actualizas la aplicación, podrás desplegar la versión actualizada con el mismo comando que utilizaste para desplegar la aplicación por primera vez. El nuevo despliegue crea una nueva versión de la aplicación y la establece como la versión predeterminada. Se conservan las versiones anteriores de la aplicación, al igual que las instancias de máquina virtual asociadas. Ten en cuenta que todas estas versiones de aplicaciones e instancias de máquina virtual son recursos facturables. Para obtener información sobre cómo eliminar o detener instancias de máquina virtual, consulta el artículo sobre la eliminación de los recursos utilizados.

¡Enhorabuena! Has desplegado tu primera aplicación PHP en Google Cloud Platform.

La siguiente sección describe la configuración necesaria para ejecutar la aplicación en Google Cloud Platform.

Configurar el entorno flexible de App Engine

Como se menciona en la introducción, una aplicación ejecutada en el entorno flexible requiere estos archivos:

  • app.yaml
  • Dockerfile

Esta sección describe cada requisito.

Configuración de la aplicación

El archivo app.yaml describe la configuración del despliegue de la aplicación.

runtime: php
env: flex

runtime_config:
  document_root: web

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

Este archivo app.yaml especifica que la aplicación utiliza un tiempo de ejecución personalizado y el entorno flexible. Obtén más información sobre la configuración del entorno flexible de App Engine.

Docker

Dockerfile describe el entorno de tiempo de ejecución utilizado por la aplicación. La aplicación Hello World utiliza el entorno de tiempo de ejecución gcr.io/php-mvm-a/php-nginx:

Debido a que esta aplicación se ejecuta en Docker, puede ejecutarse sin cambiar nada en cualquier host de Docker, como Google Kubernetes Engine o Kubernetes.

Pasos siguientes: compilar la aplicación Bookshelf

Logotipo de la aplicación Bookshelf

Crear una aplicación de estantería

Ahora que has completado Hello World, puedes continuar con tu siguiente aplicación de muestra: la aplicación Bookshelf. La aplicación Bookshelf es más completa, pero sigue siendo una aplicación web PHP básica que utiliza varias funciones de Cloud Platform (por ejemplo, almacenamiento de datos, autenticación y almacenamiento de registros).

Eliminar los recursos utilizados

Si ya has completado los tutoriales y quieres eliminar los recursos asignados, consulta el artículo sobre eliminación de recursos.

¿Te ha resultado útil esta página? Enviar comentarios: