El entorno de ejecución de PHP es la pila de software encargada de instalar el código y las dependencias de tu aplicación y, luego, ejecutarla en el entorno flexible.
Versiones de PHP
PHP 8.5 usa paquetes de compilación. Para obtener la lista completa de las versiones de PHP compatibles y su versión de Ubuntu correspondiente, consulta el programa de asistencia del entorno de ejecución.
Para usar una versión de PHP compatible, debes hacer lo siguiente:
Instala la versión 420.0.0 o una posterior de
gcloud CLI. Puedes actualizar las herramientas de la CLI si ejecutas el comandogcloud components update. Para ver la versión instalada, puedes ejecutar el comandogcloud version.Incluye la configuración
runtime_configyoperating_systemen el archivoapp.yamlpara especificar un sistema operativo.Declara la raíz del documento de la aplicación en el archivo
app.yaml:runtime: php env: flex runtime_config: operating_system: "ubuntu24" document_root: "web"Aunque puedes especificar el directorio raíz del proyecto (
.) como la raíz del documento, te recomendamos que uses un subdirectorio para la configuración dedocument_root.El código fuente se encuentra en el directorio
/workspace, en lugar del directorio raíz (/). Si anulas cualquier configuración, los procesosNGINXosupervisorhacen referencia al archivo de configuración en este directorio. Para actualizar las referencias correspondientes, debes hacer lo siguiente:Actualiza las declaraciones
includeen la configuración de NGINX para que estén relacionadas con/workspaceen lugar de/etc/nginx.Algunos archivos, como
gzip_params, no están incluidos. Para hacer referencia a estos archivos, incluye tu propio o copia desde GitHub. Los archivos comomime.typesyfastcgi_paramsestán disponibles en el directorio/etc/nginx.Algunos módulos NGINX, como
nginx-plus-module-ndk, no están instalados. Establece el valor$docrooto agrégalo de forma manual en tu archivo de configuraciónNGINX.
De manera opcional, puedes especificar una versión del entorno de ejecución de las siguientes maneras:
Incluye la configuración de
runtime_versionen tuapp.yaml. De forma predeterminada, se usa la última versión de PHP si no se especifica la configuración deruntime_version.Para especificar PHP 8.5 en Ubuntu 24, haz lo siguiente:
runtime: php env: flex runtime_config: operating_system: "ubuntu24" runtime_version: "8.5" document_root: .Para especificar la última versión de PHP compatible en Ubuntu 24, sigue estos pasos:
runtime: php env: flex runtime_config: operating_system: "ubuntu24" document_root: .
Incluye una versión de PHP en el archivo
composer.json.{ "require": { "php": "8.5.*" } }
Consulta la referencia de
app.yamlpara obtener más información.
Versiones anteriores del entorno de ejecución
Para usar la versión 7.3 y anteriores de PHP, debes hacer lo siguiente:
Declara la raíz del documento de la aplicación. Puedes hacerlo en tu archivo
app.yaml:runtime: php env: flex api_version: 1 runtime_config: document_root: .Aunque puedes especificar el directorio raíz del proyecto (
.) como la raíz del documento, te recomendamos que uses un subdirectorio para la configuración dedocument_root.Especifica una versión de PHP en el archivo
composer.jsonpara evitar que la aplicación se actualice de forma automática cuando haya una nueva versión de PHP disponible.{ "require": { "php": "7.3.*" } }
Compatibilidad con otros entornos de ejecución de PHP
Si necesitas usar una versión de PHP que no es compatible, puedes crear un entorno de ejecución personalizado y seleccionar una imagen base válida con la versión de PHP que necesites.
Para las imágenes base proporcionadas por Google o las imágenes base de Docker para PHP, consulta Compila entornos de ejecución personalizados.
Personaliza NGINX
Para definir un archivo de configuración personalizado, incluye el archivo nginx-app.conf en el directorio raíz de tu proyecto.
De forma predeterminada, el controlador frontal del framework usa el archivo index.php. Es posible que debas cambiar esto a algo distinto para tu proyecto. Por ejemplo, el framework de Symfony usa app.php en lugar de index.php. Puedes cambiar el nombre del archivo en la sección runtime_config del archivo app.yaml:
runtime: php
env: flex
runtime_config:
operating_system: "ubuntu24"
document_root: .
front_controller_file: app.php
Para la versión 7.3 y las anteriores, el archivo de configuración nginx-app.conf se incluye en la sección del servidor del archivo de configuración principal NGINX. Por ejemplo, el archivo de configuración predeterminado php-app.conf contiene lo siguiente:
location / {
# try to serve files directly, fallback to the front controller
try_files $uri /$front_controller_file$is_args$args;
}
Para definir un archivo de configuración personalizado, crea el archivo nginx-app.conf en el directorio raíz de tu proyecto. El entorno de ejecución anula el archivo predeterminado con el archivo que proporcionas.
De forma predeterminada, el controlador frontal del framework usa el archivo index.php. Es posible que debas cambiar esto a algo distinto para tu proyecto. Por ejemplo, el framework de Symfony usa app.php en lugar de index.php. Puedes cambiar el nombre del archivo en la sección runtime_config del archivo app.yaml:
runtime: php
env: flex
runtime_config:
document_root: .
front_controller_file: app.php
OPcache
Habilita OPcache en el archivo php.ini. Consulta el documento oficial para saber cómo configurar OPcache.
Para inhabilitar OPcache, crea o edita el archivo php.ini con la siguiente línea: