|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 72 ![]() |
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 :
|
||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : septembre 2008 Messages : 31 ![]() |
|
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
en interface web c'est pas fait pour, utilise un cron, ou fait de l'ajax
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
J'aurais tendance à dire que ton sleep de 30 seconde fait en sorte que ton script est exécuté depuis plus de 30 secondes.
Un script PHP n'est pas concu pour être exécuté pendant plus de 30 secondes. |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 72 ![]() |
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, or il semblerai que c'est la solution ideale pour mon problème, 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 de façon periodique.
encore merci pour votre aide. si j'ai des soucis pour la suite je reviendrai A+ |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Salut,
au lieu d'essayer d'avoir un script PHP qui tourne à l'infini et qui "soumet" un résultat à toutes les 30 secondes, essaie plutôt: De faire un javascript, qui lui a un timeout aux 30 secondes. Ce timeout apelle une fonction javascript qui fait une requête AJAX à une page PHP. Donc la page PHP n'est exécutée que le temps de préparer la réponse (obtenir les données, effectuer un traitement). La raison pourquoi ca fontionne de cette facon, c'est que le serveur n'à pas à soutenir un immense nombre de connexion de facon inutile. |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : octobre 2011 Messages : 50 ![]() |
ajoute la ligne :
dans ton code Mais ca constitue une grosse faille de sécurité et ca ne resoudra pas ton problème , je te conseille d'utiliser un cron. Tu peux faire en sorte que ton script continue meme si l'utilisateur ferme la fenêtre mais ton hébergeur va crie HALTE à la boucl et je trouve ca assez dangereux pour le serveur. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com