Précédent   Forum des professionnels en informatique > PHP > Outils > EasyPHP
EasyPHP Forum d'entraide sur EasyPHP : installation, utilisation, etc. Avant de poster -> Cours EasyPHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2007, 10h53   #1
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
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 :
Citation:
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 :
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
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 10h57   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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 ?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h02   #3
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
j'ai enlevé ";" sur la ligne :
Code :
;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
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h04   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par chti_juanito
j'ai enlevé ";" sur la ligne :
Code :
;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.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h07   #5
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
Code X :
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...
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h10   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
J'ai activé l'extension chez moi et ca me met dans mon php info la partie suivante:
Citation:
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é.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h15   #7
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
bah à partir du moment ou j'avais trouvé la ligne
Code :
;extension=php_sockets.dll
j'imagine que c'était le bon fichier ini non ?

voici le chemin ou il se trouve chez moi :
Citation:
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 :
[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
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h19   #8
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par chti_juanito
bah à partir du moment ou j'avais trouvé la ligne
Code :
;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 :
C:\Program Files\EasyPHP1-8\php\php.ini
Et ben si tu regardes la sortie de ton phpinfo() ca te dit ca:

Citation:
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)
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 11h24   #9
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
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 ?
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h13.


 
 
 
 
Partenaires

Hébergement Web