Page 1 sur 1

temp d'execution d'un script sur serveur web

Posté : 26 oct. 2011, 12:29
par cerco
bonjour,

voici ci-dessous un petit script que je viens de coder, me permetant d'interroger une base mysql toutes les 30sec et d'afficher le resultat sur la page web.
seulement une fois que je lance le script via une interface web, le resultat m'est affiché une seule fois à l'écran suivi de ce message d'erreur:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\PHP\monscrip.php on line 13
la ligne 13 c'est la ligne juste après l'appel de la fonction sleep(30) dans le script ci-dessous.

quelqu'un pourrait-il m'expliquer pourquoi ai je ce message, qui arrete l'execution de mon script sur le serveur ?

merci d'avance pour vos reponses

Code : Tout sélectionner

while(1==1) { // partie connexion à la base de données $requete = "select * from matable"; $execution = mysql_query($requete); while($ligne=mysql_fetch_row($execution)) { echo "$ligne[0]..."; } mysql_close(); sleep(30); }

Re: temp d'execution d'un script sur serveur web

Posté : 26 oct. 2011, 12:38
par AoSiX
Bonjour,

Par défaut, PHP est installé avec un temps d’exécution maximum de 30s. Cela signifie qu’après ce délai, PHP arrête d’exécuter le script.

Solutions :
a) Utiliser la fonction set_time_limit : http://php.net/manual/fr/function.set-time-limit.php
b) modifier la valeur de max_execution_time dans le fichier php.ini : http://www.php.net/manual/fr/info.confi ... ution-time
c) Changer de méthode, en utilisant de l'AJAX ( probablement bien plus propre ).

Re: temp d'execution d'un script sur serveur web

Posté : 26 oct. 2011, 12:45
par xTG
Dans tous les cas ce script est voué à l'échec...
Une boucle infinie ?
Un sleep(30) ?

Ce n'est pas ainsi que fonctionne un système client-serveur.
D'autant plus que certains navigateurs n'affiche pas le résultat de la requête avant de la recevoir au complet. Donc avec une boucle infinie...

Ton système fonctionnerai mieux comme te l'a indiqué AoSiX. Un script Ajax lancé toutes les 30 secondes appelant un script PHP renvoyant les enregistrements.

Re: temp d'execution d'un script sur serveur web

Posté : 26 oct. 2011, 19:04
par cerco
merci pour vos reponses assez claires, je comprend alors mieux le pourquoi de ce message d'erreur. cependant je ne m'y connais pas en Ajax, il va donc falloir que j'y jette un oeil ne fusse que deja savoir comment ecrire un script qui puisse faire appel a mon script php.
encore merci pour votre aide.
si j'ai des soucis pour la suite je reviendrai

A+