Erreurs PHP
Quand votre application est en cours d’exécution, vous pouvez remarquer des erreurs PHP dans vos journaux d’application, ou vous pouvez vouloir vous assurer que vos scripts PHP ne sont pas utilisés indéfiniment en raison de requêtes incomplètes ou bloquées. Cet article explique comment configurer les réglages des délais dépassés et les limites de mémoire pour assurer la stabilité, la sécurité et les performances optimales de votre application.
Limite de mémoire
La limite de mémoire PHP par défaut sur l’hébergement d’applications est de 128 Mo pour toutes les versions de PHP. Si votre application dépasse cette limite, vous pouvez voir une erreur similaire à la suivante dans vos journaux d’application:
Détecté 1047468200 octets de RAM
La limite de mémoire de PHP est de 128M octets
Pour augmenter la limite de mémoire de votre application, créez un fichier .user.ini dans le répertoire racine de l’application et ajoutez-y le réglage de limite de mémoire. Par exemple, si vous souhaitez augmenter la limite de mémoire de PHP à 256 Mo, ajoutez ce qui suit :
memory_limit = 256M
Augmenter le délai dépassé des requêtes
La directive request_terminate_timeout
pour FastCGI Process Manager (FPM) détermine la durée maximale d’exécution d’un script PHP avant que le serveur web n’y mette fin de manière forcée, que le script soit terminé ou non.
Cela permet d’éviter que les scripts PHP ne s’exécutent indéfiniment, ce qui peut se produire en raison d’erreurs de codage, de boucles infinies ou de temps de traitement excessifs. En définissant une valeur appropriée pour request_terminate_timeout
, vous pouvez éviter que les processus PHP ne consomment trop de ressources serveur et n’affectent les performances globales et la stabilité du serveur.
Pour modifier la valeur de request_terminate_timeout :
- Créez un fichier nommé fpm_custom.conf dans le répertoire racine de votre dépôt et ajoutez-y la valeur nécessaire, par exemple (l’unité par défaut est la seconde) :
request_terminate_timeout = 120
- Transférez les modifications dans votre dépôt Git.
- Dans MyKinsta, sélectionnez votre Application > Processus > modifiez le processus web > mettez à jour commande de démarrage pour inclure le fichier fpm_custom.conf, par exemple :
heroku-php-apache2 -F fpm_custom.conf