Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Rencontrez-nous à Solutions Libres et Open Source 2013 (28 & 29 Mai)

#1 09/04/2012 12:23:45

totoAussi
Membre
Inscription : 18/03/2011
Messages : 300

[Résolu] La function php gethostbyname() ne marche pas sur fedora

Bonjour,

il existe une fonction php appelée gethostbyname() qui permet de retourner l'ip d'un hote.

Voici un exemple :

<?php

echo gethostbyname("example.com");

/*Affiche 192.0.43.10*/

?>

Le problème est que gethostbyname ne semble pas marcher sur fedora, car il me retourne l'hote que j'ai passé en paramètre (donc c'est un échec d'après la doc php) et non pas l'ip.

Pourquoi ça ne marche pas ?

Merci d'avance pour vos réponses.


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

#2 09/04/2012 13:57:18

Heldwin
Edits Master ^^
Lieu : Suisse
Inscription : 07/10/2008
Messages : 2 801

Re : [Résolu] La function php gethostbyname() ne marche pas sur fedora

gethostbyname() affiche le nom s'il n'arrive pas à résoudre l'ip.

gethostbyname("example.com");
-> 192.0.43.10

gethostbyname("fedora.ch");
-> fedora.ch

Après ajout dans /etc/hosts de:
1.1.1.1    fedora.ch

gethostbyname("fedora.ch");
-> 1.1.1.1

Dernière modification par Heldwin (09/04/2012 13:58:28)

Hors ligne

#3 09/04/2012 17:48:42

totoAussi
Membre
Inscription : 18/03/2011
Messages : 300

Re : [Résolu] La function php gethostbyname() ne marche pas sur fedora

bonjour Heldwin

Heldwin a écrit :

gethostbyname() affiche le nom s'il n'arrive pas à résoudre l'ip.

=> je le sais,

mais je voudrais savoir si ça marche chez toi ?

Chez moi ça ne marche pas quand j'exécute le code sur un navigateur.

Par contre ça marche en ligne de commande.

Bizarre.

Une idée ?


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

#4 09/04/2012 21:15:01

Refuznik
Membre
Inscription : 31/01/2007
Messages : 6 296

Re : [Résolu] La function php gethostbyname() ne marche pas sur fedora

Chez moi ça ne marche pas quand j'exécute le code sur un navigateur

Et quel est le message d'erreur d'apache alors ?

Hors ligne

#5 09/04/2012 21:19:49

Heldwin
Edits Master ^^
Lieu : Suisse
Inscription : 07/10/2008
Messages : 2 801

Re : [Résolu] La function php gethostbyname() ne marche pas sur fedora

Chez moi, ça marche en ligne de commande et dans le navigateur.
Par contre, en forçant mon fichier de test php avec un autre contexte que: httpd_sys_content_t, j'obtiens une page blanche à la place du retour de l'echo.

Donc, chez toi, vérifie que tu as le bon contexte SELinux sur ton fichier php:

ls -lZ /var/www/html/le_fichier.php

A la limite, restore le contexte de ton dossier /var/www/html:

restorecon -R /var/www/html

Regarde les logs /var/log/messages et /var/log/httpd/error_log:

cat /var/log/messages | grep setroubleshoot
cat /var/log/httpd/error_log | grep -i php

EDIT:

Et éventuellement, indiquer un peu plus d'infos que juste un: ça marche pas (qu'est-ce qui se passe chez toi exactement, ça affiche quelque chose ou pas, etc.). Des fois ça aide :)

Dernière modification par Heldwin (09/04/2012 21:27:38)

Hors ligne

#6 10/04/2012 11:54:56

remi
Crazy PHP packages monkey... !
Rédacteur Wiki
Lieu : Champagne...
Inscription : 16/10/2004
Messages : 5 285
Site Web

Re : [Résolu] La function php gethostbyname() ne marche pas sur fedora

Comment est géré le réseau (network ou NetworkManager)

Cf remarque à ce sujet dans le doc

En gros, c'est connu que la résolution ne fonctionne pas comme attendu lorsque httpd est démarré "avant" le lancement du réseau et la configuration du resolver.

Pour vérifier, faire le test après une relance d'apache.

Et effectivement, vérifier si les boolean SELinux ne bloque pas quelque chose.

Hors ligne

#7 10/04/2012 15:05:23

totoAussi
Membre
Inscription : 18/03/2011
Messages : 300

Re : [Résolu] La function php gethostbyname() ne marche pas sur fedora

Rebonjour à tous,

remi a écrit :

En gros, c'est connu que la résolution ne fonctionne pas comme attendu lorsque httpd est démarré "avant" le lancement du réseau et la configuration du resolver.
Pour vérifier, faire le test après une relance d'apache.

=> après un service httpd restart, ça marche maintenant, merci !!!!

Merci à vous tous de m'avoir aidé smile 

Résolu


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

Pied de page des forums