Maison >développement back-end >Problème PHP >Comment définir le temps d'attente en php
Lors du développement avec PHP, vous devez parfois effectuer des opérations à long terme, telles que des requêtes réseau, des requêtes de base de données, des opérations sur les fichiers, etc. Dans ce cas, le délai d'attente par défaut de PHP peut ne pas être suffisant pour terminer ces opérations, provoquant une erreur du programme. Afin de résoudre ce problème, nous devons définir le délai d'attente de PHP.
Le délai d'attente de PHP fait référence au temps d'attente maximum lorsqu'un script PHP est exécuté s'il dépasse ce temps, il sera terminé de force. Par défaut, le délai d'attente de PHP est de 30 secondes, qui peut être ajusté en modifiant le fichier php.ini.
Tout d'abord, nous devons trouver le fichier php.ini. Sous les systèmes Linux, php.ini se trouve généralement dans le répertoire /etc/php/[version]/cli/. Sous les systèmes Windows, php.ini se trouve généralement dans le répertoire d'installation de PHP.
Ouvrez le fichier php.ini et recherchez les deux paramètres suivants :
max_execution_time = 30 max_input_time = 60
Parmi eux, max_execution_time représente le temps d'exécution maximum du script PHP (en secondes), la valeur par défaut est de 30 secondes ; max_input_time représente le script PHP recevant le POST, GET, FILE, etc. Temps maximum en secondes pour saisir les données, la valeur par défaut est de 60 secondes.
Nous pouvons modifier les valeurs de ces deux paramètres aux valeurs dont nous avons besoin, par exemple :
max_execution_time = 60 max_input_time = 120
Cela rendra le temps d'exécution maximum du script PHP de 60 secondes et le temps de saisie maximum de 120 secondes.
En plus de modifier le fichier php.ini, nous pouvons également définir le temps d'attente d'expiration dans le code PHP. En PHP, on peut utiliser la fonction set_time_limit pour définir le temps d'exécution maximum du script.
Par exemple, le code suivant fixera le temps d'exécution maximum d'un script PHP à 60 secondes :
set_time_limit(60);
Si on veut modifier le paramètre max_input_time dans le code, on peut utiliser la fonction ini_set.
Par exemple, le code suivant définira le temps maximum pendant lequel un script PHP reçoit une entrée à 120 secondes :
ini_set('max_input_time', 120);
Il convient de noter que ces paramètres ne prennent effet que dans le script actuel. Après avoir quitté le script actuel, le délai d'attente. sera restauré dans php.ini La valeur configurée dans le fichier.
PHP fournit également une fonction ignore_user_abort, qui permet aux scripts PHP de continuer à s'exécuter après la déconnexion du client. Cette fonction est très utile lorsque vous travaillez avec des scripts de longue durée.
Par exemple, le code suivant configurera le script PHP pour qu'il continue à s'exécuter après la déconnexion du client :
ignore_user_abort(true);
Il convient de noter qu'après avoir défini la fonction ignore_user_abort, si le client se déconnecte, le script PHP continuera à s'exécuter, mais rien peut être envoyé au client.
Résumé
Dans le développement PHP, le temps d'attente est un problème très important et doit être défini en fonction de situations spécifiques. Nous pouvons ajuster le délai d'attente de PHP en modifiant le fichier php.ini, en définissant le délai d'attente dans le code, en utilisant la fonction ignore_user_abort, etc. pour gérer les scripts de longue durée.
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!