Maison >développement back-end >Problème PHP >délai d'expiration du changement php

délai d'expiration du changement php

WBOY
WBOYoriginal
2023-05-24 16:34:381047parcourir

Dans le processus de développement d'applications Web, nous sommes généralement confrontés à la nécessité d'effectuer des opérations plus chronophages, telles que le téléchargement de fichiers, la génération de rapports, etc. Ces opérations peuvent prendre des dizaines de secondes, voire des minutes, mais par défaut, le temps d'exécution des scripts PHP est limité. Si la limite est dépassée, une erreur "Durée d'exécution maximale dépassée (timeout)" sera générée. Alors, comment changer le timeout d’un script PHP ?

Le délai d'expiration par défaut de PHP est de 30 secondes, ce qui signifie que si le temps d'exécution d'un script dépasse 30 secondes, le moteur PHP abandonnera automatiquement l'exécution du script et générera une erreur « Temps d'exécution maximum dépassé ». Ce délai sera affecté par différents paramètres du serveur, la version de PHP et la configuration dans PHP.ini. Ci-dessous, nous expliquerons comment modifier le délai d'attente d'un script PHP.

Modifier le délai d'expiration dans les scripts PHP

Vous pouvez modifier dynamiquement le délai d'expiration dans les scripts PHP via la fonction ini_set(). Cette fonction permet de modifier dynamiquement les paramètres de configuration dans php.ini. Par conséquent, nous pouvons utiliser la fonction ini_set() pour modifier les paramètres de configuration du délai d'attente.

ini_set('max_execution_time', 60);

Le code ci-dessus définit le délai d'attente du script à 60 secondes. Cela signifie que le temps d'exécution du script ne peut pas dépasser 60 secondes, sinon une erreur "Durée d'exécution maximale dépassée" apparaîtra.

Bien sûr, vous pouvez également mettre ce code au début du fichier PHP, afin que l'ensemble du fichier soit affecté lors de son exécution. Cependant, il convient de noter que s'il existe des restrictions correspondantes dans le fichier de configuration PHP (php.ini), le délai d'attente ne peut pas être modifié via cette méthode.

Modifiez le délai d'attente dans le fichier php.ini

Dans le fichier php.ini, nous pouvons modifier le délai d'attente du script PHP en modifiant le paramètre de configuration max_execution_time. Ce paramètre est mesuré en secondes et peut être réglé sur un nombre plus élevé pour prendre en charge des opérations plus longues. Veuillez suivre ces étapes :

Recherchez le fichier php.ini et ouvrez-le (généralement dans /etc/php.ini ou /etc/php7/php.ini).
Recherchez max_execution_time = 30. 30 est le temps d'exécution par défaut.
Modifiez la valeur de max_execution_time au nombre de secondes souhaité (par exemple 300 pour 5 minutes).
Enregistrez le fichier php.ini.
Redémarrez le serveur Web pour que les modifications prennent effet.

Gestion des problèmes de délai d'attente lors du téléchargement de fichiers volumineux

Les téléchargements de fichiers volumineux sont une exigence courante, mais leur téléchargement et leur traitement prennent généralement plus de temps, ce qui facilite les problèmes de délai d'attente. Si vous rencontrez des problèmes de délai d'attente lors du téléchargement de fichiers volumineux, vous pouvez envisager ces solutions :

Augmentez le délai d'attente de votre script PHP. Cela peut être fait en utilisant la fonction ini_set() ou en modifiant le paramètre de configuration max_execution_time dans le fichier php.ini.
Lors du téléchargement de fichiers volumineux, utilisez la technologie de téléchargement en plusieurs parties. Cette technique divise le fichier en petits morceaux et les télécharge un par un. De cette façon, vous pouvez éviter les problèmes de délai d'attente même si le téléchargement prend beaucoup de temps. De nombreux navigateurs modernes prennent en charge les téléchargements en plusieurs parties.
Utilisez la barre de progression du téléchargement et la technologie ajax pour fournir aux utilisateurs des commentaires en temps réel sur la progression du téléchargement. Cela permet à l'utilisateur de connaître la progression du téléchargement et évite l'impression erronée que le programme s'est arrêté.
Utilisez des serveurs plus rapides ou des serveurs cloud à large bande passante. L'amélioration des performances de votre serveur peut réduire le temps nécessaire au téléchargement et au traitement des fichiers. Si vous utilisez un hébergement mutualisé, envisagez de passer à un VPS ou un serveur dédié.
Conclusion

Le timeout dans les scripts PHP est l'un des problèmes souvent rencontrés en développement web. Ce problème peut être facilement évité en modifiant simplement le délai d'attente du script PHP ou en modifiant le paramètre de configuration max_execution_time dans le fichier php.ini. De plus, lors du traitement de téléchargements de fichiers volumineux, il est recommandé d'utiliser une technologie de téléchargement en plusieurs parties, des barres de progression de téléchargement et des serveurs plus rapides ou des serveurs cloud à large bande passante pour améliorer l'expérience utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Convertir php en jsArticle suivant:Convertir php en js