Maison > développement back-end > tutoriel php > Comment résoudre le délai d'exécution de PHP

Comment résoudre le délai d'exécution de PHP

angryTom
Libérer: 2023-04-07 10:14:02
original
11324 Les gens l'ont consulté

Comment résoudre le délai d'exécution de PHP

Le délai d'exécution du script par défaut en php est de 30 secondes. Si vous ne le définissez pas, il expirera après 30 secondes si votre script n'a pas été exécuté. instructions. Explication détaillée de la façon de résoudre le délai d'exécution du script PHP.

Manuel recommandé : Manuel d'auto-apprentissage complet php

Tutoriel recommandé : Tutoriel vidéo PHP

Le temps d'exécution maximum par défaut dans php.ini est de 30 secondes. Bien que la valeur de max_execution_time dans php.ini puisse être ajustée pour atteindre l'objectif, dans certains cas, il n'y a aucune condition pour modifier php. .ini. Comment résoudre ce problème.

 Une façon consiste à ajouter

ini_set('max_execution_time', '0');
Copier après la connexion

au script PHP pour définir le temps d'exécution à 0 (valeur infinie

Une autre) ; La première méthode consiste à exécuter le script à partir de la ligne de commande. Lors de l'exécution du script à partir de la ligne de commande, la durée d'exécution maximale est définie sur illimitée.

Modifier la limite de temps d'exécution du script de php.ini

Modifiez php.ini et modifiez la valeur max_execution_time :

max_execution_time=500
//此修改需要重新加载php.ini,需要重启web服务器生效。
Copier après la connexion

Définissez le temps d'exécution du script via le . fichier htaccess

php_value max_execution_time 500
Copier après la connexion

Définir le temps d'exécution maximum dans le script

ini_set('max_execution_time', 500);
Copier après la connexion

Utiliser la fonction PHP pour annuler la limite de temps du script

set_time_limit(0);
Copier après la connexion

set_time_limit est utilisé pour définir le délai d'attente du script. Cette fonction spécifie le délai du script Lorsque la phrase est exécutée, le programme doit être terminé dans le nombre de secondes spécifié. S'il expire, le programme se terminera avec une erreur.

Ce qui suit est un exemple. Il y a 10 000 données. Pour modifier certaines données, utilisez PHP pour effectuer le traitement étape par étape :

action. php

<?php
 $stid = isset($_GET[&#39;stid&#39;])?$_GET[&#39;stid&#39;]:0;
 $endid = $stid + 100;
 $maxid = 10000;

 function dosomething(){
  //要时间比较多的操作
  ……
 }
 $sql_string=”select *  from `table`  where id>’$stid’ and id<=’$endid’ order by id”;
 $datas = getdata_bysql($sql_string);
 foreach($datas as $data){
  //处理数据
  …..
  echo $id.” 处理完成. <br />”;
  if($id>=$maxid){exit;}
 }
 if($stid<=$maxid){
 $stid = $stid + 100;
 $url=”action.php?stid=$stid”;
 echo $url;
  echo ‘<script language=”javascript”>location=”‘.$url.’”; </script>’;
 }
?>
Copier après la connexion

où dosomething() est une opération qui prend du temps. Ici, nous réduisons le temps d'exécution en limitant la plage d'identifiants. Après l'exécution, l'étape suivante est automatiquement exécutée via le saut javascript

. C'est ce que fait maintenant dedecms lors de la génération de pages HTML.

Articles connexes recommandés  :
1.Quel est le moyen de faire expirer le délai php
2.Comment résoudre la requête php ? délai d'expiration de l'interface
Recommandations vidéo associées :
1. Tutoriel vidéo Dugu Jiujian (4)_PHP

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!

Étiquettes associées:
php
source:解决php运行超时的方法
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal