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 y, luego, invoca la función. Este entorno se identifica mediante la versión del lenguaje y se conoce como el ID de entorno de ejecución.

Preparación de funciones

Puedes preparar una función directamente desde la Google Cloud consola 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.

Imágenes base y entornos de ejecución de PHP compatibles

Entorno de ejecución ID de entorno de ejecución Pilas Imagen base del entorno de ejecución Baja Retirar
PHP 8.5 php85 google-24-full (predeterminada) google-24-full/php85 2029-12-31 2030-06-30
PHP 8.4 php84 google-22-full (predeterminada) google-22-full/php84 2028-12-31 30-6-2029
PHP 8.3 php83 google-22-full (predeterminada) google-22-full/php83 31-12-2027 30-6-2028
PHP 8.2 php82 google-22-full (predeterminada) google-22-full/php82 31-12-2026 30-6-2027
PHP 8.1 php81 google-18-full google-18-full/php81 31-12-2025 30-6-2026
PHP 7.4 php74 google-18-full google-18-full/php74 2024-01-30 2025-01-30

Selecciona tu entorno de ejecución

Puedes seleccionar uno de los entornos de ejecución de PHP compatibles para tu función durante la implementación.

Puedes seleccionar una versión del entorno de ejecución con la Google Cloud consola de o la gcloud CLI. Haz clic en la pestaña para obtener instrucciones sobre el uso de la herramienta que elijas:

gcloud

Especifica la imagen base de PHP para tu función con la marca --base-image mientras la implementas. Por ejemplo:

gcloud run deploy FUNCTION \
    --source . \
    --function FUNCTION_ENTRYPOINT \
    --base-image php85

Reemplaza lo siguiente:

  • FUNCTION por el nombre de la función que implementas. Puedes omitir este parámetro por completo, pero se te solicitará el nombre si lo haces.

  • FUNCTION_ENTRYPOINT por el punto de entrada a tu función en tu código fuente. Este es el código que ejecuta Cloud Run cuando se ejecuta tu función. El valor de esta marca debe ser un nombre de función o un nombre de clase completamente calificado que exista en tu código fuente.

Para obtener instrucciones detalladas sobre cómo implementar una función con la gcloud CLI, consulta Implementa funciones en Cloud Run.

Console

Puedes seleccionar una versión del entorno de ejecución cuando creas o actualizas una función de Cloud Run en la Google Cloud consola. Para obtener instrucciones detalladas sobre cómo implementar una función, consulta Implementa funciones en Cloud Run.

Para seleccionar un entorno de ejecución en la Google Cloud consola de cuando creas una función, sigue estos pasos:

  1. En la Google Cloud consola de, ve a la página Cloud Run:

    Ir a Cloud Run

  2. Haz clic en Escribe una función.

  3. En la lista Entorno de ejecución, selecciona una versión del entorno de ejecución de PHP.

  4. Haz clic en Crear y espera a que Cloud Run cree el servicio mediante una revisión de marcador de posición.

  5. La consola te redireccionará a la pestaña Fuente , en la que puedes ver el código fuente de tu función. Haz clic en Guardar y volver a implementar.

Para obtener instrucciones detalladas sobre cómo actualizar la versión del entorno de ejecución después de implementar la función, consulta Vuelve a implementar el código fuente nuevo.

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 agregándolas a un archivo de proyecto llamado composer.json.

El entorno de ejecución de PHP para Cloud Run Functions 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.