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 :

[Système] terminer script php sans attendre la fin d'un exec


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut [Système] terminer script php sans attendre la fin d'un exec
    Bonjour,
    Imaginons un script php qui contiendrait simplement :
    exec(script qui va prendre plusieurs jours);

    Jusque la, je ne me cassais la tete, les utilisateurs avait impossible d'afficher la page, au bout du temps reglementaire, ce qui n'empechait pas le script de faire son oeuvre.

    Maintenant, je voudrais quelque chose d'un peu plus soigné :
    1- Lancement de l'execution du script
    2- echo "c'est parti. Vous pouvez rentrer chez vous !"

    Avec flush, je n'obtiens pas l'effet desiré et j'aimerais que le traitement html s'arrete la. Meme en faisant une redirestion vers mon script, je ne vois pas comment obtenir ce dernier effet.

    Si quelqu'un a une idee...

    Merci pour votre aide,
    Sohnic

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    et si tu utilisait l'instruction

  3. #3
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut
    Et non, ca ne peut pas marcher, car je serais obligée de le placer apres le exec. Le die sera donc interpreté apres la fin de l'instruction exec.
    Merci,
    S.

  4. #4
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut
    Je m'auto-reponds, au cas ou quelqu'un en auarait l'utilité.

    Pour le test, le but est de lancer un script long (en l'occurence, une boucle infinie) via un script php, tout en recupérant la main immediatement.

    1- la boucle : test.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $i=0;
    while($i==0)
    {
    }
    Le script php (lancé à partir d'un lien, par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    //system('perl test.pl &');
    pclose(popen('perl test.pl &', 'r')); 
    echo 'titi';
    ?>
    Avec la ligne commentée, ca ne marche pas (testé aussi avec exec, shell_exec, passthru).

    J'ai vérifié que le script était bien lancé et continuait bien après l'affichage de titi avec la commande ps.

    Voila, c'est bizarre mais fonctionnel...

    Sohnic

  5. #5
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    tu es sous linux unix ? non ?

  6. #6
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut
    Oui (Linux, fedora core4 exactement), mais j'ai trouvé la combine dans un post de php.net. L'exemple donné était sous Windows...
    S.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 15/05/2008, 17h41
  2. [Système] Lancer un script sans attendre sa fin ?
    Par parisien dans le forum Langage
    Réponses: 9
    Dernier message: 03/11/2005, 22h09
  3. [Système] Lancer un executable sans attendre la fin
    Par raptor70 dans le forum Langage
    Réponses: 1
    Dernier message: 27/10/2005, 14h25
  4. Réponses: 7
    Dernier message: 20/10/2005, 20h51
  5. [Dos] Lancer une commande dos sans attendre la fin
    Par MrEddy dans le forum Windows
    Réponses: 4
    Dernier message: 09/06/2005, 17h38

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