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 :

fsockopen ne fonctionne pas sur certains host


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut fsockopen ne fonctionne pas sur certains host
    Bonjour à tous,

    Je demande rarement de l'aide, non pas parce que mon niveau en php soit excellent, mais plutôt parce qu'en règle générale la solution est trouvable avec la doc officielle ou par le biais de forum.

    Or si je viens vers vous c'est que je n'ai pas trouvé la solution à mon problème.

    Je m'explique :

    J'ai un script basique qui utilise fsockopen.

    Le script ne fonctionne pas dans mon serveur dédié. Le script tourne en rond pendant plusieurs secondes et fini par me retourner le message suivant :

    Connection timed out (110)


    Or si ce même script est placé dans un autre serveur dédié, il fonctionne parfaitement et instantanément.

    A noter que si je modifie le serveur en mettant par exemple whois.crsnic.net à la place de whois.afilias.info, la connexion se fait sur mon propre serveur et me retourne le résultat attendu.

    Y'aurait il une fonction que je n'aurai pas activé sur mon dédié ?


    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
     
    <?php
    $domaine = "test.info";
    $response = "";
    $fp = fsockopen("whois.afilias.info", 43, $errno, $errstr, 30);
    stream_set_blocking ($fp,0 );  // passe en mode bloquant
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
     
        fputs($fp, $domaine ."\r\n");
     
    			while(!feof($fp))
    			{
    			$response .= fgets($fp, 128);
    			}
     
    		fclose($fp);
    			if(preg_match('/No match for/i', $response) ||
    			preg_match('/NOT FOUND/i', $response) ||
    			preg_match('/Status:FREE/i', $response) ||
    			preg_match('/No entries found/i', $response) ||
    			preg_match('/AVAIL/i', $response)){
                 echo"domaine libre";
              } else {
                 echo"domaine déja pris";
     
              }
     
    }
     
    ?>
    Merci pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 40
    Points : 44
    Points
    44
    Par défaut
    Je vais peut être dire une connerie mais il te donne la réponse pour moi.
    Tu dois rechercher un paramètre de time out qui est trop court comme par exemple : stream_set_timeout.
    J'espère que celà t'a aidé.
    Bonne continuation
    harold

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Hello

    Afin de savoir si le souci provient de ton utilisation de php ou plutôt d'un problème réseau propre à ton infrastructure, je t'invite à exécuter la commande suivante sur chacun de tes serveurs ( en espérant que tu aies accès au ssh de tes machines ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    traceroute --port=43 whois.afilias.info

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Désolé de ne pas avoir apporté de réponse, je n'ai pas reçu de notification de réponse.

    Bouxroute, je viens de procéder au test de traceroute (je n'y avais pas pensé), et le résultat est le suivant :

    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
    traceroute -I whois.afilias.info
    traceroute to whois.afilias.info (199.15.85.130), 30 hops max, 60 byte packets
     1  * * *
     2  gra-g2-a9.fr.eu (178.33.103.227)  1.272 ms  1.765 ms  1.772 ms
     3  * * *
     4  * * *
     5  ae-52-52.csw2.London1.Level3.net (4.69.139.120)  106.735 ms  106.734 ms  106.731 ms
     6  ae-58-223.ebr2.London1.Level3.net (4.69.153.137)  108.120 ms  106.654 ms  108.112 ms
     7  ae-43-43.ebr1.NewYork1.Level3.net (4.69.137.74)  106.878 ms  106.873 ms  106.859 ms
     8  ae-55-55.ebr2.Washington12.Level3.net (4.69.148.50)  107.683 ms  107.676 ms  107.671 ms
     9  ae-1-100.ebr1.Washington12.Level3.net (4.69.143.213)  110.448 ms  110.430 ms  110.449 ms
    10  ae-6-6.ebr1.Atlanta2.Level3.net (4.69.148.105)  110.440 ms  110.505 ms  110.530 ms
    11  * * *
    12  ae-7-7.ebr3.Dallas1.Level3.net (4.69.134.21)  106.769 ms  106.780 ms  106.735 ms
    13  ae-83-83.csw3.Dallas1.Level3.net (4.69.151.157)  107.559 ms  107.594 ms  107.571 ms
    14  ae-3-80.edge5.Dallas3.Level3.net (4.69.145.145)  107.827 ms  107.842 ms  107.825 ms
    15  ge-1-0-0-core2-tx1.afilias.net (4.71.120.214)  107.816 ms  107.802 ms  107.855 ms
    16  whois.afilias.net (199.15.85.130)  109.230 ms  109.974 ms  109.425 ms
    Le traceroute à l'air de fonctionner.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Problème résolu,

    C’était un problème de iptables

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

Discussions similaires

  1. Executable ne fonctionnant pas sur certaines machines
    Par AlexisWallace dans le forum C#
    Réponses: 17
    Dernier message: 07/08/2014, 12h42
  2. Réponses: 1
    Dernier message: 15/03/2014, 18h26
  3. Le php ne fonctionne pas sur certaine page ?
    Par dark vador 008 dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2009, 17h09
  4. Réponses: 1
    Dernier message: 22/06/2009, 09h16
  5. [ZF 1.7] [Zend_Lucene] $doc->addField ne fonctionne pas sur certains serveurs
    Par JeanVcrt dans le forum Autres composants
    Réponses: 1
    Dernier message: 13/02/2009, 12h00

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