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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Call to undefined function: socket_create() [EasyPHP]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut Call to undefined function: socket_create()
    Salut amis programmeurs

    je suis en train de coder un script en php pour envoyer des requête http.

    et j'ai un problème avec la fonction socket_create()...

    j'ai cherché un peu et j'ai trouvé qu'avec EasyPhp, il faut modifier le fichier php.ini, ce que j'ai fait, mais toujours l'erreur :
    Fatal error: Call to undefined function: socket_create() in c:\program files\easyphp1-8\www\miniscript.php on line 33
    la ligne 33 correspondant à l'appel de la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /*ouverture socket*/
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if($socket < 0){
            die('FATAL ERROR: socket_create() : " '.socket_strerror($socket).' "');
    }
     
    if (socket_connect($socket,gethostbyname($url),80) < 0){
            die('FATAL ERROR: socket_connect()');
    }
    /*/ouverture socket*/
    pouvez vous m'éclairer ?

    merkii

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Quelles modifications dans le php.ini as-tu faite?
    Quand tu fais un phpinfo() est ce que ca te dit que l'extension pour les socket est activée ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    j'ai enlevé ";" sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ;extension=php_sockets.dll
    pour phpinfo() je dois le lancer dans mon script?

    EDIT : pour info la version de EasyPhp est 1.8.0.1

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Citation Envoyé par chti_juanito
    j'ai enlevé ";" sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ;extension=php_sockets.dll
    pour phpinfo() je dois le lancer dans mon script?
    Oui ! un simple :
    suffit

    tu peux aussi regarder dans les logs de php ou d'apache s'il n'y a pas un probleme avec cette extension au chargement.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    System  Windows NT
    Build Date  Dec 14 2004 17:46:48  
    Server API  Apache  
    Virtual Directory Support  enabled  
    Configuration File (php.ini) Path  c:\program files\easyphp1-8\apache\php.ini  
    PHP API  xxxx 
    PHP Extension  xxxx  
    Zend Extension  xxxx 
    Debug Build  no  
    Thread Safety  enabled  
    Registered PHP Streams  php, http, ftp, compress.zlib

    est-ce dans cette partie ? je ne vois pas le terme "socket" ni là ni dans la suite...

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    J'ai activé l'extension chez moi et ca me met dans mon php info la partie suivante:
    sockets
    Sockets Support enabled
    Si tu n'as pas ca qui apparait dans ton phpinfo il peut y avoir deux raisons :

    1/ tu ne modifies pas le bon php.ini, il y en a souvent plusieurs sur la machine donc tu t'es peut etre trompé
    2/ tu as un probleme au chargement de la DLL, dans ce cas regarde les logs d'Apache et de php ca devrait être indiqué.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    bah à partir du moment ou j'avais trouvé la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ;extension=php_sockets.dll
    j'imagine que c'était le bon fichier ini non ?

    voici le chemin ou il se trouve chez moi :
    C:\Program Files\EasyPHP1-8\php\php.ini
    EDIT : dans les logs d'apache, j'ai la ligne d'erreur que j'avais en lançant mon script

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    [Thu Jul 26 11:18:18 2007] [error] PHP Fatal error:  Call to undefined function:  socket_create() in c:\\program files\\easyphp1-8\\www\\monscript.php on line 33

  8. #8
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Citation Envoyé par chti_juanito
    bah à partir du moment ou j'avais trouvé la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ;extension=php_sockets.dll
    j'imagine que c'était le bon fichier ini non ?
    non la majorité des php.ini par défaut sont identiques, on décommente les plus usuelles et dans la majorité des cas cette ligne est toujours commentée.

    Citation Envoyé par chti_juanito
    voici le chemin ou il se trouve chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\EasyPHP1-8\php\php.ini
    Et ben si tu regardes la sortie de ton phpinfo() ca te dit ca:

    Configuration File (php.ini) Path c:\program files\easyphp1-8\apache\php.ini
    Donc tu vois que tu n'as pas modifié le bon ! (et penses a redémarrer le serveur apres modif)

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    en effet !

    merci à toi koopajah

    je laisse le topic ouvert jusqu'à ce que ça marche, peut être j'aurai besoin de tes bons conseils ^^

    bonne journée

    EDIT : petite question
    en lançant mon script dans le web local, sachant que j'essaie d'envoyer la requête http sur un site en ligne, est-ce que ça va marche ?

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

Discussions similaires

  1. [XSLT] Call to undefined function xslt_create
    Par rudy207 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/04/2009, 17h27
  2. Réponses: 3
    Dernier message: 13/05/2006, 15h48
  3. [SGBD] Call to undefined function mysql_connect()
    Par monphp dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 29/01/2006, 21h33
  4. Réponses: 11
    Dernier message: 08/12/2005, 16h54
  5. Call to undefined function mysql_pconnect()
    Par shirya dans le forum Installation
    Réponses: 2
    Dernier message: 03/11/2005, 21h55

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