|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 183 ![]() |
Bonjour à tous,
je désire faire des calculs sur ma base qui est très importante. Mais cela prend 45 secondes. et bien sûr j'ai droit au fatal : 'Fatal error: Maximum execution time of 30 seconds exceeded in d:\easyphp1-8\www\whombat\index.php on line 107' Comment faire pour passer ce cap ? Merci de vos conseils. Cordialement. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() |
Bonsoir
tu dois modifier php.ini Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 30 ; Maximum execution time of each script, in seconds tu dois donc modifier max_execution_time = 30 Si tu n'as pas accés a php.ini Je ne crois pas que tu puisse modifier la durée sauf erreur de ma part |
|
|
00
|
|
|
#3 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
|
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() |
merci pour l'info on peut donc modifier ça dans le script autant pour moi
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 183 ![]() |
Merci pour tous ces tuyaux.
Nouvelle question du même genre : passer 30 secondes ça fait long pour le visiteur, peut-on, comme en VB par exemple, mettre un sablier au pointeur de souris ? J'avoue que j'ai cherché mais je n'ai rien trouvé. D'habitude, IE le met tout seul mais là il ne me le met pas. D'autre part, il n'affiche pas les cadres et décors prévus pourtant avant le script de tri de bdd. Il y a-t-il une technique du style xx=doevents() en VB qui oblige le script a s'exécuter avant d'aller plus loin ? Là aussi j'ai cherché mais en vain. |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 4 ![]() |
Bonsoir,
Citation:
cursor: wait; Mais encore faut-il qu'une page soit affichée. Si la page précédente est toujours chargée dans le navigateur (le navigateur attend une réponse du serveur avant de décharger la page précédente), activez cette règle au moment d'émettre la requête. Citation:
Comme vous souhaitez outre-passer ce comportement, invoquez la commande 'flush()' juste avant d'invoquer votre longue commande pour ordonner à PHP de transferer les données en attente au navigateur. Dans le cas où l'utilisateur n'a pas besoin d'attendre le résultat de la commande, je vous conseillerais plutôt de la lancer dans un nouveau processus. Par exemple, vous pouvez délocaliser le traitement dans un nouveau fichier PHP et le lancer par la commande suivante: 'php' indique qu'on exécute le moteur PHP, à qui on passe comme argument le chemin d'accès au script. Le '&' est un mot Shell sur les plateformes Unixoïdes pour réclamer la création d'un nouveau processus, ne paralysant ainsi pas l'exécution courante. Si vous avez besoin d'arguments au script de traitement (sinon l'intervention d'un utilisateur ne serait probablement pas utile ;o) ), je n'ai pas les informations sous la main. Cependant, vous devriez pouvoir les trouver facilement, soit en exécutant 'php --help' qui devrait fournir une liste des options possibles, soit en explorant la documentation PHP, du côté des exécutions en ligne de commande. Pour finir, un petit avertissement: PHP a la tendance par défaut de tuer le script en cours lorsque l'utilisateur ferme la connection au serveur (en cliquant sur le bouton 'arrêter', ou en changeant de page). Si ce n'est pas souhaitable et que le traitement doit poursuivre même lorsque l'utilisateur abandonne la requête (ce qui peut-être courant face à un utilisateur lambda), il existe d'une part la méthode que je viens de vous proposer et d'autre part une option à activer dans 'php.ini' (dont je ne connais pas le nom) qui permet de poursuivre l'exécution du script même lorsque l'utilisateur l'abandonne. Une nouvelle attention encore sur ce dernier cas, vous ne voudrez peut-être pas que l'utilisateur exécute n-fois de suite le traitement et il faudra alors passer par un moyen de prévenir l'exécution du traitement si un traitement est déjà en cours. Cordialement, Julien |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com