IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Délai de traitement d'une page pas assez long [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Par défaut [Tableaux] Délai de traitement d'une page pas assez long
    Bonjour,

    Me voila avec un nouveau probleme.

    Je souhaite augmenter le delai de traitement d'une page PHP.
    Donc j'i modifié dans le php.ini la ligne

    max_execution_time = 120
    Et malheuresement le temps de depart ( 60s ) est toujours le temps utilisé par le navigateur.

    PS : En fait le traitement est long car il parcours une table ACCESS assez consequente pour ensuite créer les tables de cette base dans une base MySQL.

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    tu peux faire un :

    set_time_limit(0);

    qui va te donner un temps infini... ce qui est dangeureux si t'as des boucles infinies evidemment.

    Si tu le peux, essaye plutot de faire :

    set_time_limit(1800); // 30 minutes

    au debut d'une boucle par exemple, comme ca il a 30 minutes a chaque iteration

  3. #3
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Fladnag
    tu peux faire un :

    set_time_limit(0);

    qui va te donner un temps infini... ce qui est dangeureux si t'as des boucles infinies evidemment.

    Si tu le peux, essaye plutot de faire :

    set_time_limit(1800); // 30 minutes

    au debut d'une boucle par exemple, comme ca il a 30 minutes a chaque iteration
    Ca ne change rien, le navigateur fera quand même claquer un timeout.
    Mieux vaudrait afficher une page d'attente, et faire le calcul en arrière plan. Mais j'ai jamais fait ça, perso.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Par défaut
    il faut donc que je rajoute set_time_limit(x); dans la boucle.

    Mais cela veut dire que chaque boucle sera traitée pendant x secondes meme celle qui ne prennent que quelque secondes ???

    Ou bien seulement celle qui ont besoin de plus de temps ???

    N'y a-t-il pas un moyen de mettre le temps d'execution de la page entiere à une duré définie ???

    En tout cas merci de repondre aussi vite

  5. #5
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Citation Envoyé par Alexlesilex
    N'y a-t-il pas un moyen de mettre le temps d'execution de la page entiere à une duré définie ???
    set_time_limit(durée définie en seconde);

    le set_time_limit ne fait que réinitialiser a la valeur passée en parametre un compteur qui se décrémente d'un toutes les secondes et qui, quand il passe de 1 a zero, arrete le script php.

    le set_time_limit(0); te donne un temps infini, alors tu peux l'utiliser, si tu est sur de ton code ;o)

    J'ai deja fait des scripts (en local) qui durent plus de 60 secondes (genre meme 15 ou 30mn facile) sans provoquer de timeout du navigateur... en général j'aime bien afficher des trucs de temps en temps, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (...) {
    // long traitement
    echo '.'; flush();
    }
    Ce qui va afficher un point a l'ecran a chaque fin de boucle... peut etre que ca eviterais que ton navigateur s'arrete... sinon j'utilise pas IE mais FF, je sais pas si ca a un rapport.

  6. #6
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Fladnag
    J'ai deja fait des scripts (en local) qui durent plus de 60 secondes (genre meme 15 ou 30mn facile) sans provoquer de timeout du navigateur...
    Ben ça dépend de la configuration du navigateur, alors tu ne peux pas le contrôler... Mais ton petit bout de code avec l'affichage du point règle peut-être le problème.

    Mais si c'est un "vrai" utilisateur que tu veux faire patienter une demi-heure pour l'affichage, je le plains

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Citation Envoyé par Eusebius
    Mais si c'est un "vrai" utilisateur que tu veux faire patienter une demi-heure pour l'affichage, je le plains
    lol, nan, c'est juste des scripts pour moi, genre leecher de site web, des choses de ce genre la ;o)
    En général mes plus grosses pages depassent rarement 5 secondes, et c'est deja beaucoup.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Par défaut
    Bon je garde la solution du set_time_limit qui marche plutot bien.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Modifier un tableau sur une page en PHP
    Par leclone dans le forum Langage
    Réponses: 12
    Dernier message: 02/01/2007, 15h06
  2. [Tableaux] Probleme de rechargement d'une page
    Par johnson95 dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2006, 14h06
  3. [Tableaux] passer un array d'une page à une autre
    Par 18Marie dans le forum Langage
    Réponses: 5
    Dernier message: 25/06/2006, 23h42
  4. [Tableaux] Charger le contenu d'une page dans une variable
    Par wishmastah dans le forum Langage
    Réponses: 7
    Dernier message: 15/05/2006, 17h00
  5. [Tableaux] Temps de traitement ... affichage de page
    Par mathieu77186 dans le forum Langage
    Réponses: 37
    Dernier message: 25/10/2005, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo