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 :

Besoin d'aide PHP


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Besoin d'aide PHP
    Bonjour,

    je tiens à m’excuser si mon topic n'est pas placé aux bons endroits je suis un peu perdu dans tous ces articles ^^;

    Je souhaite mettre en place un tableau qui me permettrait de pinger toutes les adresses 10.208.(+1).250 je rencontre deux problèmes la fonction "ereg" que j'utilise n'est plus valable par quoi la remplacer et je rencontre une erreur "Fatal error: Maximum execution time of 30 seconds exceeded" j'ai le temps de pinger seulement 7 adresses alors qui me faut en pinger 144.
    J'ai essayé de modifier le "max_execution_time" mais le probléme ne change pas le temps reste a 30 seconde.

    Si une âme charitable voudrait bien me venir en aide.

    Merci d'avance.

    Voici mon code :

    Nom : c2d4d6cc8041e4f0d237385a3afcf860.png
Affichages : 786
Taille : 29,7 Ko

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Petit plus
    Excuser moi je vient de régler mon problème de max_execution_time mais maintenant mon problème c'est que l’exécution et relativement longue il n'y aurait pas un moyen d’exécuter les ping quasi instantanément ou juste d'accélérer le processus ?

  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Si c'est pareil sous windows que sous linux, tu peux n'envoyer qu'un seul paquet avec l'option -c :


  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    j'envoie déjà un seul paquet avec "-n 1".

    Il n'y a pas un moyen de régler l'intervalle entre mes ping ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    je vous en r'ajoute un peux ^^.

    Je voudrait savoir si il y a moyen d'afficher plus simplement mon résultat seulement l'adresse puis a coté un ON ou OFF.
    Wamp me rajoute automatiquement un tableau

    Merci.

    Nom : 59e09aff7cbbfdbe6865816e4143538c.png
Affichages : 512
Taille : 12,4 Ko

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    le "tableau" est en fait un message d'erreur...


  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 243
    Points
    20 243
    Par défaut
    Pour ereg , tu peux simplement utiliser strpos qui sera nettement plus rapide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(strpos($ping, 'perte 100%') === false)
        echo 'deconnecte'
    else
        echo 'connecte'
    Tu peux limiter le timeout du ping avec l'option -w
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ping -w 100 -n 1 192.168.1.1
    Attendra au maximum 100ms une réponse au dela il considère que c'est un echec.
    Donc dans ton cas , si tous les serveurs sont déconnecté ca prendra environ 14 sec de les pinger.

    Pour accélérer le processus il n'ya pas de secret il faut en lancer plusieurs en parallèle.
    Pour ça plusieurs solutions :

    - Via javascript tu lances plusieurs requêtes asynchrones . Chacune s'occupant d'une partie des adresses. Tu attends les réponses de tout le monde et tu aggrèges les résultats dans un tableau.
    Donc si avec une requête tu met 10 sec , en faisant 5 requêtes en parallèles , tu vas en théorie mettre plus que 2 sec

    - Tu te fais un script coté serveur dans un langage multi thread (c,cpp,java, ...) qui fait les ping pour toi sur X thread et renvoi un seul résultat avec toutes les réponses.

    Perso j'opterais plus pour la seconde solution qui sera plus performante et plus "propre".

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Franchement super je te remercie

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Le "-w 100" ma permis de passer de 2min 30 a 20 seconde super.
    Je vais encore vous embêter comment puis-je enlever les info "paquet envoyé 1 reçu ..." je voudrait simplifier au maximum simplement l'ip et Connecter ou déconnecter.

    Rendu :

    Nom : a7b87b58b710b536ca3d3de120925bb4.png
Affichages : 509
Taille : 175,6 Ko

    Code Frame :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html>
    <html>
    <FRAMESET COLS="20%,
    80%"> 
    <FRAME SRC="1a48.php" NAME="gauche">
    <FRAMESET COLS="50%, 50%">
    <FRAME SRC="48a96.php"
       NAME="droit_haut">
    <FRAME SRC="96a144.php"
       NAME="droit_bas">
    </FRAMESET>
    Code de l'une de mes 3 Frame :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    echo "<HTML><BODY>";
     
    $exclude_list = array ("10.208.0.250");
    echo '<table border=1 style="font-size: 8pt">';
    echo '<tr><td>Adresse IP</td><td>etat</td></tr>';
    for ($RESEAU = 1; $RESEAU < 48;$RESEAU=$RESEAU+1)
    {
      for ($IP = 250; $IP <= 250; $IP = $IP+1)
      {
        if (!in_array("10.208.".$RESEAU.".".$IP, $exclude_list))
        {
          echo "<tr>";
          echo "<td>10.208.$RESEAU.$IP</td>";
          echo "<td>";
            $ping = exec("ping 10.208.$RESEAU.$IP"." -n 1 "." -w 100 ");
                if(strpos($ping, 'perte 100%') === false)
       {
                echo $ping.'<span style="color: red"> DECONNECTE</span>';
                }
                else
                {
                echo $ping.'<span style="color: green"> CONNECTE</span>';
                }
          echo "</td>";
          echo "</tr>";
        }
      }
     }
    echo "</table>";
     
    echo "</BODY></HTML>";
    ?>

  10. #10
    Invité
    Invité(e)
    Par défaut
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                echo $ping.'<span style="color: ..............</span>';
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                echo '<span style="color: ..............</span>';

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci super

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    j’espère ne pas trop vous embêter avec toute mes question je ne connais absolument rien en développement et je ne trouve aucun cas similaire sur internet pouvant répondre a ma question.

    Maintenant j'aimerai r'ajoutez a coté de mes 144 adresse IP du texte (chaque adresses correspond a un site en france j'aimerais rajoutez le nom du site exemple "paris" 10.208.0.250 " etc

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
    echo "<HTML><BODY>";
     
    $exclude_list = array ("10.208.0.250");
    echo '<table border=1 style="font-size: 8pt">';
    echo '<td>Adresse IP</td><td>etat</td></tr><tr>';
    for ($RESEAU = 1; $RESEAU < 38;$RESEAU=$RESEAU+1)
    {
      for ($IP = 250; $IP <= 250; $IP = $IP+1)
      {
        if (!in_array("10.208.".$RESEAU.".".$IP, $exclude_list))
        {
          echo "<tr>";
          echo "<td>10.208.$RESEAU.$IP</td>";
          echo "<td>";
            $ping = exec("ping 10.208.$RESEAU.$IP"." -n 1 "." -w 100 ");
                if(strpos($ping, 'perte 100%') === false)
       {
                echo '<span style="color: green"> VPN ON </span>';
                }
                else
                {
                echo '<span style="color: red"> VPN OFF </span>';
                }
          echo "</td>";
          echo "</tr>";
        }
      }
     }
    echo "</table>";

Discussions similaires

  1. [MySQL] Besoin d'Aide Php avec Mysql
    Par Skin-Party dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/05/2012, 17h50
  2. Besoin d'aide PHP / URL REWRITING
    Par bastien211 dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2011, 13h21
  3. [MySQL] Besoin d'Aide PHP reçois pas formulaire par e-mail
    Par memello dans le forum PHP & Base de données
    Réponses: 49
    Dernier message: 04/02/2011, 16h59
  4. Besoin d'aide: php/sql
    Par tulipelover dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/06/2009, 22h45
  5. [FTP] Besoin d'aide php ftp_put
    Par fab53 dans le forum Langage
    Réponses: 3
    Dernier message: 21/11/2007, 16h47

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