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 :

threads en php


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut threads en php
    salut a vous tous.
    je cherche a lancer plusieurs processus en meme temps, est ce qu il possible a l'aide du php ?

  2. #2
    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
    si t sous linux oui c'est possible mais c'est assez compliqué (fork), tu fais un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec("php monappli.php &");
    sous windows je ne sais pas.

    Attention ce n'est pas un processus léger (thread) ! monappli.php est indépendante de ton appli principale !

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    oui j'ai deja utiliser fork() mais linux avec langage c.
    mais je ne sais pas vraiment comment l'utilise sous php :

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut Re: threads en php
    Citation Envoyé par naourass
    je cherche a lancer plusieurs processus en meme temps, est ce qu il possible a l'aide du php ?
    Quel est l'intéret, le besoin ?

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    bon ce que je veux si de test la connexion avec des machines dans un reseau local (avec un ping + ip) pour savoir les machine connecte sur les reseau.
    pour cela j'ai pense a lance des processus chaqu'une va realiser un ping sur un pc pour avoir un bon temps d'execution je ne sais pas si il est possible avec php

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Et bien essaie comme l'a suggéré FFF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec("php ping.php ".$ip." &")
    (avec peut-etre redirection d'erreur vers la sortie standard...)


    Mais je ne vois pas l'intéret de faire des processus pour ça Pour moi une simple boucle sur toute les ip aurait suffit...

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    oui j'ai test avec un boucle ca marche tres bien mais le temps d'execution
    et grand.
    ok je vais test ton idee mais pourquoi l'utilisation d'un " & "?

  8. #8
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par naourass
    oui j'ai test avec un boucle ca marche tres bien mais le temps d'execution
    et grand.
    ok je vais test ton idee mais pourquoi l'utilisation d'un " & "?
    Le "&" sous Unix permet de ne pas attendre la fin de ton programme pour te redonner la main..

  9. #9
    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
    Je n'utiliserais pas les processus pour cela. Tu as bcp d'autres solutions :

    - executer un script php (genre fopen("http://monserveur/page.php?args=....","r")) en tâche planifiée toutes les x secondes sur chacune des machines (pas top)
    - Si tu connais les ip de tes machines à tester, tu peux faire un script php lancé depuis une seule machine dont la structure serait :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?
    $montableauip=...;   //tableau de toutes les ip à tester (requète mysql ou autre)
    $n=$_GET["n"];
    if($n!=limite) {
    exec("ping "+$montableauip[n],$resultat);
    // tu analyses $resultat
    if (ping est bon) {//code1}
    else {//code2}
    //tu rediriges sur cette même page en changeant n
    header("Location : http://monserveur/pageping.php?n="+($n++));
    }
    else {
    header("Location : http://monserveur/pingfin.php");
    }
    ?>
    Comme cela l'execution de pageping.php ne dure que quelque secondes, mais se fait n fois de suite.

    C'est une idée de code...

    -Sinon sur php.net un gars a écrit un pti code permettant d'exécuter des scripts php en arrière plan grâce à pfsockopen(), à voir... apparamment si j'ai bien compris tu pourrais lancer plusieurs fois un script php depuis une page php :
    http://fr.php.net/manual/fr/function.pfsockopen.php

    peut être que finalement un script shell suffirait ?

Discussions similaires

  1. Multi-threading en PHP
    Par arnaudperfect dans le forum Langage
    Réponses: 7
    Dernier message: 27/03/2008, 13h28
  2. les thread dans php
    Par killer_instinct dans le forum Langage
    Réponses: 2
    Dernier message: 01/05/2007, 08h58
  3. Comment faire du multi thread en php?
    Par sirbaldur dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/01/2007, 17h56
  4. Est-ce que l'on peut faire des thread en php?
    Par Yoteco dans le forum Langage
    Réponses: 3
    Dernier message: 11/01/2007, 11h43
  5. [PHP-JS] Équivalent thread en PHP
    Par hiko-seijuro dans le forum Langage
    Réponses: 18
    Dernier message: 20/08/2006, 14h06

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