Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3026 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] détecter le depassement du temps max d'execution de script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] détecter le depassement du temps max d'execution de script

n°309493
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 15:28:59  profilanswer
 

Bonjour :)
 
j'ai un souci a regler rapidement en attendant de pouvoir corriger le probleme.
 
resume de la situation :
 
j'affiche via un script PHP un listing d'infos a recuperer depuis une table SQL Server plutot lourde (plusieurs centaines de milliers d'enregistrement)
 
j'ai defini le temps d'exec max des scipts PHP a 120 secondes
 
j'affiche une <div> avec un gif anime pendant le chargement des infos
 
probleme :
 
malgre un temps max de 120sec, il arrive que le script ne se soit pas acheve dans les temps et php l'arrette donc automatiquement ... mais du coup, mon <div> reste affiche (j'ai un code JS en fin de page qui le desaffiche mais vu que PHP arrette le script, le code n'en est pas encore la ...) ...
 
est-il possible de faire en sorte que si mon script est arrette de cette maniere j'arrive a faire que du JS soit creer pour desafficher ma <div> ?
 
j'espere avoir reussi a vous faire comprendre mon probleme.
 
merci d'avance de votre aide :jap:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
mood
Publicité
Posté le 14-02-2003 à 15:28:59  profilanswer
 

n°309586
zion
Plop
Posté le 14-02-2003 à 15:36:54  profilanswer
 


Non, js = client, php = serveur, quand ton script est trashé il est trop tard pour afficher un message vu que ton script est trashé justement.
 
Par contre tu peux ne modifier ton temps limite que pour ce script www.php.net/set_time_limit
 


---------------
Informaticien.be - Lancez des défis à vos amis
n°309619
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 15:56:29  profilanswer
 

oui, je sais pour les aspects client/serveur ...
 
seulement j'esperais que PHP pourrait gerer cela et lui dire que lorsqu'un script atteind la limite temporelle d'execution, qu'il ne stop que la fonction incriminee et qu'il passe a utre chose ...
 
je sais pas mais ca me parait possible non :??:
 


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°309627
zion
Plop
Posté le 14-02-2003 à 16:00:48  profilanswer
 


Je viens de le dire, je vais faire plus clair:
 
Non
 
 :D


---------------
Informaticien.be - Lancez des défis à vos amis
n°309633
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 16:02:54  profilanswer
 

bah oui mais non ! ;)  
 
enfin, ca doit surement s'expliquer pour un codeur specialiste mais je suis limite decu ... :pfff:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°309644
zion
Plop
Posté le 14-02-2003 à 16:08:52  profilanswer
 


Attends, faut se réveiller, le language il est pas concu pour toi uniquement et de limiter l'exécution d'une fonction ca implique une chiée de trucs (comment tu vas définir le temps max hein?) de plus cette mesure est uniquement faire pour balancer les scripts trop couteux sur des hébergements mutualisés ou pour trouver un script qui foire.
 
Et franchement un scrip qui dure + de 120 secondes faut se poser de sérieuses questions avant d'attaquer PHP  :heink:


---------------
Informaticien.be - Lancez des défis à vos amis
n°309663
apolon34
Vive Linux!!
Posté le 14-02-2003 à 16:21:13  profilanswer
 

clair que deux minutes pour une requete sql, mais que fait la police ??
 
il manque surement un/des index ou ton serveur est un dinosaure??

n°309682
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 16:34:33  profilanswer
 

Batman-Fr a écrit :

bah oui mais non ! ;)  
 
enfin, ca doit surement s'expliquer pour un codeur specialiste mais je suis limite decu ... :pfff:  


 
 :o pas d'animosite svp ! :heink:  
 
c'etait juste histoire de finir sur une bonne note (bon j'ai foire) et de bien vous montrer que je n'etais pas specialiste et que je croyais fermement que c'etait possible
 
 :sweat:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°309686
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 16:35:25  profilanswer
 

apolon34 a écrit :

clair que deux minutes pour une requete sql, mais que fait la police ??
 
il manque surement un/des index ou ton serveur est un dinosaure??


 
j'en ai conscience :sweat:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°309689
zion
Plop
Posté le 14-02-2003 à 16:37:10  profilanswer
 


Au boulot alors  [:banzai]


---------------
Informaticien.be - Lancez des défis à vos amis
mood
Publicité
Posté le 14-02-2003 à 16:37:10  profilanswer
 

n°309706
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 16:47:01  profilanswer
 

alors il me faut m'expliquer l'optimisation des requetes SQL et des tables SQL (j'ai un index sur les champs importants de mes tables) :(


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°309716
skylight
Made in France.
Posté le 14-02-2003 à 16:53:44  profilanswer
 

fait un explain sur tes requetes, dans phpmyadmin, et etudie le resultat

n°309727
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 16:57:10  profilanswer
 

je ne passe pas par phpmyadmin
 
scripts PHP qui interrogent une base sql server via odbc
 
est-ce plus rapide de passer par une procedure stockee par rapport a entrer sa requete dans le script PHP ?
 
on derive vers un topic d'optimisation sql/php la ...


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°309749
skylight
Made in France.
Posté le 14-02-2003 à 17:12:58  profilanswer
 

Batman-Fr a écrit :


 
on derive vers un topic d'optimisation sql/php la ...  


 
ben tu veux résoudre ton pb comment ? :heink:

n°309754
zion
Plop
Posté le 14-02-2003 à 17:16:43  profilanswer
 


SkyLight>Je propose l'imposition des mains mais j'ai un doute sur l'éfficacité  :sweat:  
 
Batman>Si ton script est pas trop gros, copie le ici, sinon juste les requêtes ou des petits bouts


---------------
Informaticien.be - Lancez des défis à vos amis
n°309958
Batman-Fr
powered by caféine
Posté le 14-02-2003 à 21:00:07  profilanswer
 

Skylight a écrit :


 
ben tu veux résoudre ton pb comment ? :heink:


 
attends, ca ne me derange pas !  
j'hesitais simplement a poser la question "on continue ds ce topic et je modifie le titre" ou "je cree un nouveau topic" et "pers n'a deja propose un tel topic ?" ... enfin tu voix, toutes les questions de bienseances HFRiennes  :o  
 
pr le script, oui, je posterai des bouts de code lundi
 
merci a vous deja et bon week end en attendant :jap:  
 
 :hello:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°310402
kileak2
Posté le 15-02-2003 à 16:58:29  profilanswer
 

Salut
 
A propos de tps d'éxécution, je souhaiterais mettre en bas de page un :
"page générée en 0.15sec" : je fais comment ?
 
Un pote en ASP catch l'heure ds son 1er include en haut de page puis rebelotte en bas de page. Il fait la différence et hop :)
 
Problème, il fait appel à une fction "timer" et je connais pas l'équivalent en PHP.
 
merci
 
a+

n°310523
dropsy
et bonne chance surtout...
Posté le 15-02-2003 à 23:02:02  profilanswer
 

kileak2 a écrit :

Salut
 
A propos de tps d'éxécution, je souhaiterais mettre en bas de page un :
"page générée en 0.15sec" : je fais comment ?
 
Un pote en ASP catch l'heure ds son 1er include en haut de page puis rebelotte en bas de page. Il fait la différence et hop :)
 
Problème, il fait appel à une fction "timer" et je connais pas l'équivalent en PHP.
 
merci
 
a+


 

Code :
  1. function getmicrotime(){
  2.     list($usec, $sec) = explode(" ",microtime());
  3.     return ((float)$usec + (float)$sec);
  4.     }
  5. $time_start = getmicrotime();
  6.    
  7. for ($i=0; $i < 1000; $i++){
  8.     //do nothing, 1000 times
  9.     }
  10. $time_end = getmicrotime();
  11. $time = $time_end - $time_start;
  12. echo "Did nothing in $time seconds";


 
source: http://be.php.net/manual/en/function.microtime.php

n°310608
kileak2
Posté le 16-02-2003 à 10:28:27  profilanswer
 

dropsy a écrit :


 

Code :
  1. function getmicrotime(){
  2.     list($usec, $sec) = explode(" ",microtime());
  3.     return ((float)$usec + (float)$sec);
  4.     }
  5. $time_start = getmicrotime();
  6.    
  7. for ($i=0; $i < 1000; $i++){
  8.     //do nothing, 1000 times
  9.     }
  10. $time_end = getmicrotime();
  11. $time = $time_end - $time_start;
  12. echo "Did nothing in $time seconds";


 
source: http://be.php.net/manual/en/function.microtime.php


 
thx  :jap:  
a+

n°323186
Batman-Fr
powered by caféine
Posté le 05-03-2003 à 09:54:55  profilanswer
 

Batman-Fr a écrit :


 
attends, ca ne me derange pas !  
j'hesitais simplement a poser la question "on continue ds ce topic et je modifie le titre" ou "je cree un nouveau topic" et "pers n'a deja propose un tel topic ?" ... enfin tu voix, toutes les questions de bienseances HFRiennes  :o  
 
pr le script, oui, je posterai des bouts de code lundi
 
merci a vous deja et bon week end en attendant :jap:  
 
 :hello:  


 
 :hello:  
 
j'ai finalement réglé mon problème : il y avait bcp trop d'index créés sur ma table ... mon script était donc OK, il s'execute en 0.5 seconde en moyenne
 
merci a vous :jap:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] détecter le depassement du temps max d'execution de script

 

Sujets relatifs
PHP/mySQL (debutant)PHP : ereg
affectation de variable PHP -> vers var JS[Php/MySQL] Bp retour à la ligne sur resultat requete
[PHP] récupérer l'icone d'un fichierPHP : Déclaration cookie
[vb] detecter une erreurlogiciel pour créer un script de démarrage auto d'un cd avec choix ..
PHP/Apache et ASP/IIS : conflit ?[Java][RESOLU] Compilation en cours d'execution
Plus de sujets relatifs à : [PHP] détecter le depassement du temps max d'execution de script


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR