Boucle While qui ne s'arrête pas !

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sigma2008, 6 Février 2018.

  1. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Bonjour,
    J'ai conçu un script qui exécute quelques fonctions, le script fonctionne à merveille :

    Code:
    $i=1;
    while ($i < 50000000) {
    mon code ....
    echo"".$i."<br />
    $i++;
    }
    Le problème avec ce code c'est que la page se charge près d'une minute et elle termine sans afficher les $i, le code s'exécutes très bien vu que ça enregistre dans la base de donnée, mais rien ne s'affiche à l'écran et la boucle ne va pas jusqu'à la fin soit 50000000 elle exécute entre 2000 et 5000 tours et s'arrête !

    Comment résoudre ce problème ? (boucle ne s'arrête pas et afficher le $i en temps réel)

    Merci
     
  2. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 444
    J'aime reçus:
    189
  3. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    j'ai résolu en réduisant le bouclage à 2000, ça marche très bien mais maintenant je veux afficher le $i en temps réel, j'ai utilissé flush() mais ça ne donne rien !

    PS : je suis sur un mutualisé linux de LWS, je ne peux pas modifier le php.ini
     
  4. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 883
    J'aime reçus:
    73
    Donc essaie de voir si tu peux forcer le délai d’exécution max du script avec set_time_limit() (mais si tu es en safe mode, c'est mort).

    Le cas échéant, limite toi à un nombre auquel ça passe et fais un cron.
     
  5. MikeR
    MikeR WRInaute passionné
    Inscrit:
    9 Janvier 2010
    Messages:
    1 416
    J'aime reçus:
    0
    echo $i."<br>";
     
  6. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Je n'ai pas de problème avec le time limite c'est réglé, mon problème maintenant c'est que je veux afficher $i en temps réel (quand la boucle tourne) car le résultat est afficher à la fin quand le script termine, et apparemment flush() ne donne rien !
     
  7. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 883
    J'aime reçus:
    73
    Tu peux donner ton code avec flush() ? Car ça doit fonctionner.
     
  8. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Voici mon code :
    Code:
    <?php
    $i=1;
    while ($i <1000) {
    echo "".$i."<br>";
    ob_flush();
    flush();
    $i=$i+1;
    }
    ?>
    
    Voilà, le code ci dessus au lieu qu'il affiche $i ligne par ligne je dois attendre le temps que le script termine et m'envoie le code une bonne fois.
    Lien de mon fichier php info : elfanak.com/phpinfolws.php
    Pensez vous qu'il existe quelque chose de désactivé dans le php.ini de mon hébergement mutualisé LWS ?
     
  9. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 883
    J'aime reçus:
    73
  10. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Rien c'est kifkif ça charge une bonne fois à la fin.
     
  11. bossboss
    bossboss WRInaute occasionnel
    Inscrit:
    28 Août 2004
    Messages:
    340
    J'aime reçus:
    0
    ET cela?
    Code:
    <?php
    echo str_pad(".",4096);
    $i=1;
    while ($i <1000) {
    echo "".$i."<br>";
    
    flush();
    ob_flush();
    sleep(2); 
    $i=$i+1;
    }
    ?>
    
     
  12. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Rien c'est la même chose, j'ai copié le code tel qu'il est et ça prend du temps à charger puis affiche tout une seule fois !
     
    #12 sigma2008, 7 Février 2018
    Dernière édition: 7 Février 2018
  13. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Sinon peut on utiliser autre chose que Flash ? Ajax par exemple !
     
  14. FortTrafic
    FortTrafic WRInaute passionné
    Inscrit:
    11 Décembre 2012
    Messages:
    1 210
    J'aime reçus:
    18
    Il est dit que selon la configuration des serveurs, si par exemple ya le module apache qui envoit en GZIP du coup ça marche pas, il veut envoyer tout d'un coup en un zip.
    J'en sais rien je répond ca car je l'ai lu.
     
  15. MikeR
    MikeR WRInaute passionné
    Inscrit:
    9 Janvier 2010
    Messages:
    1 416
    J'aime reçus:
    0
    Le code de bossboss marche bien chez moi sous IE et Chrome sur un site de test. Par contre sur un site de prod où j'ai DEFLATE actif, ça ne marche pas. L'idée de FortTraffic est peut-être la bonne.
    Essaye en retirant DEFLATE de ton .htaccess.
     
  16. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    J'ai pas de fichier htaccess ! Je suis sur un mutualisé j'ai pas la main pour modifier le serveur !
     
  17. anemone-clown
    anemone-clown WRInaute passionné
    Inscrit:
    11 Novembre 2007
    Messages:
    1 599
    J'aime reçus:
    20
    Si GZip est activé, impossible.
     
  18. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 985
    J'aime reçus:
    280
    C'est le genre de truc qu'on fait en CLI.
     
Chargement...
Similar Threads - Boucle While arrête Forum Date
Ignorer un passage de boucle while Développement d'un site Web ou d'une appli mobile 18 Octobre 2013
Soucis de récupération de cookies dans une boucle while Développement d'un site Web ou d'une appli mobile 5 Janvier 2011
Je m'en remet à vous - boucle do while Développement d'un site Web ou d'une appli mobile 8 Juin 2010
Boucle PHP et référencement Rédaction web et référencement 13 Décembre 2019
Un chiffre aléatoire mais uniquement dans une boucle php Développement d'un site Web ou d'une appli mobile 15 Octobre 2016
Boucle de redirection URL Rewriting et .htaccess 8 Décembre 2015
Redirect 301 et boucle de redirection dans wordpress URL Rewriting et .htaccess 24 Avril 2015
probleme de redirection puis pb boucle URL Rewriting et .htaccess 26 Mars 2015
Requête sur autre table dans une boucle sur jonction Développement d'un site Web ou d'une appli mobile 11 Septembre 2014
Que faire face à des requetes en boucle sur la home Administration d'un site Web 3 Juillet 2014
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice