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, además de paquetes complementarios, compatibilidad con idiomas y la biblioteca Functions Framework, que admite e invoca tu función. Este entorno se identifica por la versión de idioma y se conoce como el tiempo de ejecución.

Estos tiempos de ejecución usan nginx y PHP-FPM para atender las solicitudes. Para obtener más información sobre los entornos de ejecución en general y sobre qué versión de Ubuntu usa cada entorno de ejecución de PHP, consulta el entorno de ejecución de Cloud Functions.

Selecciona tu tiempo de ejecución

Las funciones de Cloud Run admiten varias versiones de PHP, que se indican en la página Compatibilidad con el entorno de ejecución. Puedes seleccionar el tiempo de ejecución de PHP que prefieras para tu función durante la implementación.

gcloud

Si usas Google Cloud CLI, especifica el tiempo de ejecución con el parámetro --runtime. NAME especifica el nombre de la función. Por ejemplo:

gcloud functions deploy NAME --no-gen2 --runtime php82 --trigger-http

Para obtener más información sobre los parámetros de despliegue, consulta Desplegar una función de Cloud Run.

Consola

Si usas la Google Cloud consola, consulta la Google Cloud guía de inicio rápido de la consola para obtener instrucciones detalladas.

Preparación de la función

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

La biblioteca que invoca tu función es PHP Functions Framework.

Estructura del código fuente

Para que las funciones de Cloud Run encuentren la definición de tu función, el código fuente debe seguir una estructura específica. Para obtener más información, consulta el artículo sobre cómo escribir funciones de Cloud Run.

Configuración de PHP

Para configurar tu función de PHP, utiliza un php.ini archivo en el directorio raíz de la función. Puede ver los ajustes de configuración de PHP con la función phpinfo(), como se muestra en el siguiente código de ejemplo:

  
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 '';
}

Especificar dependencias

Para especificar las dependencias de tu función, añádelas a un archivo de proyecto llamado composer.json. Para obtener más información, consulta Especificar dependencias en PHP.