Bonjour.
J'ai une erreur de timeout avec mon php. Ma boucle prend trop de temps. Je connais la fonction set_time_limit. Mais y-a-t'il une autre façon de passer par-dessus cette erreur?
Bonjour.
J'ai une erreur de timeout avec mon php. Ma boucle prend trop de temps. Je connais la fonction set_time_limit. Mais y-a-t'il une autre façon de passer par-dessus cette erreur?
Optimiser ta boucle, ce qui ne sera pas facile avec le code que tu nous a donné...
Oups
En gros, c'est un site qui donnera l'état des ports d'un serveur. Et c'est là mon problème. Il faut que même que je laisse un certain délai à la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 while (list($key, $val) = each($tableauIni)) { if ($key >= 10) { $fp = fsockopen($serv[$c], $key, $errno, $errstr, 10); if (!$fp) $html .= "\n<td color=\"ferme\">"; else $html .= "\n<td class=\"ouvert\">"; $html .= $val; $html .= "\n</td>"; } else $html .= "\n<td class=\"ferme\">---\n</td>"; }
Edit: Si je prenais la boucle et que je la plaçais dans un autre fichier que j'appellerais avec la fonction include, est-ce que le problème serait réglé?
Le principal des perfs est donc consommé par cette instruction récurrente.
Ceci étant dépendant d'une variable de boucle ($key), tu ne peux pas la sortir de l'itération.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $fp = fsockopen($serv[$c], $key, $errno, $errstr, 10);
Donc à part le set_time_limit(), je ne vois pas.
Désolé
Dommage... Merci quand même.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager