Entorno de ejecución de PHP

Tu función de Cloud Run se ejecuta en un entorno que consta de una versión del sistema operativo con paquetes de complementos, compatibilidad con lenguajes y la biblioteca de PHP Functions Framework que admite e invoca la función. Este entorno se identifica mediante la versión del lenguaje y se conoce como el ID del entorno de ejecución.

Preparación de funciones

Puedes preparar una función directamente desde la consola de Google Cloud o escribirla en tu máquina local y subirla. Si deseas preparar tu máquina local para el desarrollo de PHP, consulta Usa PHP en Google Cloud.

Selecciona tu entorno de ejecución

Las funciones de Cloud Run admiten varias versiones de PHP, que se enumeran en los entorno de ejecución de lenguajes y las imágenes base compatibles. Puedes seleccionar el entorno de ejecución de PHP que prefieras para tu función durante la implementación.

gcloud

Para usar funciones de Cloud Run para implementar una función HTTP con gcloud CLI, consulta Implementa con Google Cloud CLI.

Console

Si usas la consola de Google Cloud , selecciona el entorno de ejecución cuando creas y cuando implementas tu función. Consulta la guía de inicio rápido de la consola deGoogle Cloud para obtener instrucciones detalladas.

Estructura del código fuente

Para que Cloud Run Functions encuentre la definición de tu función, tu código fuente debe seguir una estructura específica. Consulta Escribe funciones de Cloud Run para obtener más información.

Configuración de PHP

Para configurar tu función de PHP, debes usar un archivo php.ini en el directorio raíz de la función. Puedes ver la configuración de PHP existente con la función phpinfo() como se muestra en la siguiente muestra de código:


use Psr\Http\Message\ServerRequestInterface;

function phpInfoDemo(ServerRequestInterface $request): string
{
    // phpinfo() displays its output directly in the function's
    // HTTP response, so we don't need to explicitly return it
    //
    // Note: we recommend deleting the deployed Cloud Function once you no
    // longer need it, as phpinfo() may broadcast potential security issues.
    phpinfo();
    return '';
}

Especifica dependencias

PHP usa Composer para administrar dependencias. Puedes especificar dependencias para tu función si las agregas a un archivo de proyecto llamado composer.json.

El entorno de ejecución de PHP para funciones de Cloud Run requiere que Functions Framework sea una dependencia explícita. Para agregar Functions Framework como dependencia, ejecuta el siguiente comando en el directorio que contiene el código de tu función (este directorio también debe contener el archivo composer.json):

composer require google/cloud-functions-framework

De esta forma se agrega Functions Framework a tu composer.json y, luego, instala el paquete en el directorio vendor/.

Archivo autoload.php

Uno de los archivos que se encuentran en tu directorio vendor/ es autoload.php.

Agrega la siguiente línea a la parte superior de tus secuencias de comandos de PHP para solicitar el archivo autoload.php, que ejecuta automáticamente require las otras dependencias de la función:

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

De forma predeterminada, el directorio vendor/ se ignora en el archivo .gcloudignore generado para reducir la cantidad de archivos enviados en la implementación.