En esta página, se explica cómo migrar tu app de PHP 5.5 al entorno de ejecución de PHP 7/8 en el entorno estándar de App Engine.
Problemas de compatibilidad entre PHP 5.5 y PHP 7/8
La documentación oficial de PHP proporciona información sobre cómo migrar desde diferentes versiones de PHP:
- Migra de PHP 5.5.x a PHP 5.6.x
- Migra de PHP 5.6.x a PHP 7.0.x
- Migra de PHP 7.0.x a PHP 7.1.x
- Migra de PHP 7.1.x a PHP 7.2.x
- Migra de PHP 7.2.x a PHP 7.3.x
- Migra de PHP 7.3.x a PHP 7.4.x
- Migra de PHP 7.4.x a PHP 8.0.x
- Migra de PHP 8.0.x a PHP 8.1.x
Migra el archivo app.yaml
Debes colocar un controlador frontal para que gestione todos los enrutamientos de tu aplicación. Para obtener más información, consulta Inicio de la aplicación.
Los entornos de ejecución de PHP 7/8 o posteriores no permiten que se personalice el elemento controlador script
. El único valor que se admite es auto
, ya que todo el tráfico se entrega mediante el comando entrypoint. Todos los controladores de URL no estática deben incluir script: auto
para que la implementación se realice de manera correcta.
Se modificó el comportamiento de algunos elementos del archivo de configuración app.yaml
:
Elemento | Tipo de cambio | Descripción |
---|---|---|
entrypoint | Agregado | De manera opcional, usa este campo para especificar el comando que se ejecutará cuando se inicie la app. |
threadsafe | Obsoleto | Se supone que todas las aplicaciones son seguras para los subprocesos, por lo que una instancia puede manejar varias solicitudes al mismo tiempo. |
api_version | Funciones obsoletas | Antes era obligatorio, pero en los entornos de ejecución de PHP 7/8 no es necesario. |
application_readable | Funciones obsoletas | |
builtins | Funciones obsoletas | |
libraries | Obsoleto | Se pueden instalar dependencias arbitrarias de terceros mediante un archivo de metadatos composer.json . |
handlers | Modificado |
|
Si usas alguno de los campos obsoletos, la implementación de la app fallará.
Para obtener más información, consulta la referencia app.yaml
.
Restricciones de entorno de ejecución reducidas
Los entornos de ejecución de PHP 7/8 tienen menos restricciones en comparación con el de PHP 5.5.
- Instala dependencias de terceros.
- El entorno de ejecución incluye un sistema de archivos completo.
- Crea procesos o subprocesos que estén más allá del alcance de la solicitud mientras se ejecuta la instancia.
- Integra apps a otros servicios de Google Cloud mediante la biblioteca cliente de Google Cloud para PHP. Para obtener más información, consulta la página Instala la biblioteca cliente de Google Cloud.
Para obtener más información, consulta la documentación del entorno de ejecución de PHP 7/8.
Migra desde el SDK de PHP de App Engine
Para reducir el esfuerzo y la complejidad de la migración del entorno de ejecución, el entorno estándar de App Engine te permite acceder a muchos servicios agrupados en paquetes y API heredados en el entorno de ejecución de PHP 7/8, como Memcache. Tu aplicación de PHP 7/8 puede llamar a las API de servicios agrupados en paquetes a través del SDK de App Engine para PHP 7/8 y acceder a la misma funcionalidad que en el entorno de ejecución de PHP 5. No todos los servicios agrupados en paquetes heredados disponibles en PHP 5 tienen un servicio correspondiente en PHP 7/8. Si deseas obtener la lista completa de API de servicios agrupados en paquetes heredados disponibles para PHP 7/8, consulta la documentación de referencias de API de servicios agrupados en paquetes heredados.
También tienes la opción de usar productos de Google Cloud que ofrecen funciones similares a las de los servicios agrupados en paquetes heredados. Estos productos de Google Cloud proporcionan una biblioteca cliente de Google Cloud CLI. Para los servicios agrupados en paquetes heredados que no están disponibles como productos independientes en Google Cloud, como la búsqueda, puedes usar proveedores de terceros u otras soluciones alternativas. Para obtener más información sobre la migración a servicios sin agrupar, consulta Migra desde servicios en paquetes.
Ejecuta la aplicación de manera local
Para probar tu aplicación y ejecutarla de manera local, haz lo siguiente:
- Instala de forma local una versión de PHP que corresponda a uno de los entornos de ejecución de PHP 7/8 o posteriores disponibles en el entorno estándar de App Engine.
- Instala un servidor web y úsalo para entregar tu app de forma local.
Por ejemplo, ejecuta el siguiente comando para iniciar el servidor HTTP:
php -S localhost:8080
Luego, visita http://localhost:8080 para ver la aplicación en el navegador web.