Errores PHP
Cuando tu aplicación se está ejecutando, es posible que notes errores PHP en los registros de tu aplicación, o que quieras asegurarte de que tus scripts PHP no se están ejecutando indefinidamente debido a peticiones incompletas o estancadas. Este artículo explica cómo configurar los tiempos de espera y los límites de memoria adecuados para garantizar la estabilidad, la seguridad y el rendimiento óptimo de tu aplicación.
Límite de Memoria
El límite de memoria PHP por defecto en Alojamiento de Aplicaciones es de 128 MB para todas las versiones de PHP. Si tu aplicación supera este límite, es posible que veas un error similar al siguiente en los registros de tu aplicación:
Detectados 1047468200 Bytes de RAM
PHP memory_limit es 128M Bytes
Para aumentar el límite de memoria de tu aplicación, crea un archivo .user.ini en el directorio root de la aplicación y añade la configuración del límite de memoria al archivo. Por ejemplo, si quieres aumentar el límite de memoria de PHP a 256 MB, añade lo siguiente:
memory_limit = 256M
Aumentar el Tiempo de Espera de Finalización de Solicitud
La directiva request_terminate_timeout
para el Gestor de Procesos FastCGI (FastCGI Process Manager, FPM) determina el tiempo máximo que puede ejecutarse un script PHP antes de que el servidor web lo termine forzosamente, independientemente de si el script se ha completado o no.
Esto es útil para evitar que los scripts PHP se ejecuten indefinidamente, lo que puede ocurrir debido a errores de programación, bucles infinitos o tiempos de procesamiento excesivos. Estableciendo un request_terminate_timeout
adecuado, puedes evitar que los procesos PHP consuman recursos excesivos del servidor y afecten potencialmente al rendimiento y la estabilidad generales del servidor.
Para cambiar el valor de request_terminate_timeout:
- Crea un archivo llamado fpm_custom.conf dentro del directorio root de tu repositorio y añade en él el valor requerido, por ejemplo (la unidad por defecto son segundos):
request_terminate_timeout = 120
- Envía los cambios a tu repositorio Git.
- Dentro de MyKinsta, selecciona tu Aplicación > Procesos > edita el proceso Web > actualiza el Comando de inicio para incluir el archivo fpm_custom.conf, por ejemplo:
heroku-php-apache2 -F fpm_custom.conf