Page 1 sur 1

[PHP][IP] Récupération de l'adresse IP locale échoue

Publié : dim. 02 juil. 2017, 14:31
par aminnairi
Bonjour,

Je suis actuellement en train de réaliser un script me permettant d'automatiser la mise en place d'un serveur web interne PHP pour des tests. Le script est hébergé à cette adresse : https://github.com/aminnairi/httpserver.

Le problème est que la commande me permettant de récupérer l'adresse IP de la machine fonctionne bien sous PHP WIndows 7.0.1 mais pas sous PHP Linux 7.1.6.

Code : Tout sélectionner

$external_ip = (string) gethostbyname(gethostname());
Je récupère toujours 127.0.0.1 sous Archlinux alors que sous Windows je récupère bien 192.168.xxx.xxx.

Je n'arrive pas à trouver un début de piste pour résoudre mon problème et je n'ai pas la possibilité de tester le script sur une autre machine Linux, c'est pourquoi je me tourne vers vous.

P.S. : pour contourner le problème, j'ai utiliser des preg_grep et preg_match sur la sortie de ifconfig, mais j'aurais bien aimé avoir la possibilité de le faire avec gethostbyname(gethostname());...

Merci par avance.

Re: [PHP][IP] Récupération de l'adresse IP locale échoue

Publié : dim. 02 juil. 2017, 16:46
par benjarobin
Bonjour,
Ceci est parfaitement normale sous Linux. Et que devrait retourner ceci si tu as plusieurs interfaces réseau ?
Bref tu as plusieurs solutions https://stackoverflow.com/questions/321 ... -of-system : grep, ou via socket_create mais il faut l'avoir d'activé dans php.ini