2010-05-21 29 views
5

Todo,Recuperar nombre de dominio en lugar de IP

Estoy utilizando el siguiente comando para recuperar el nombre de dominio de mi servidor.

$_SERVER['HTTP_HOST'] 

Esto parece devolver la dirección IP en lugar del nombre de dominio como www.example.com. Miré PHPInfo y también enumera una dirección IP para HTTP_HOST en lugar de nombre de dominio. ¿Qué debo cambiar para que el nombre de dominio aparezca en lugar de IP?

Gracias

Respuesta

6

Use $_SERVER['SERVER_NAME'] lugar.

O bien, puede ver cada Variable de servidor que tenga disponible, pero colocando esta secuencia de comandos en una de sus páginas PHP en este servidor.

<?PHP 
foreach($_SERVER as $key_name => $key_value) { 
    print $key_name . " = " . $key_value . "<br>"; 
} 
?> 
+0

Eso también las listas de direcciones IP en lugar del nombre de dominio – Jake

+2

@Vincent: si '$ _SERVER ['SERVER_NAME']' enumera una dirección IP, Apache está mal configurado, ya que debería contener el valor de la directiva ServerName de Apache: http://httpd.apache.org/docs/ 2.2/mod/core.html # servername – Powerlord

+0

... o simplemente 'var_dump ($ _ SERVER)' – Kzqai

1

$_SERVER['HTTP_HOST'] (que no se puede definir si el cliente realiza una solicitud HTTP/1.0) contiene el nombre de host que el cliente solicitó.

Si el cliente solicita http://127.0.0.1/ contendría 127.0.0.1; para http://localhost/ contendría localhost; para http://127.0.0.1:81/ contendría 127.0.0.1:81.

+0

¿Está bien definir la dirección IP con un nombre de host en el archivo/etc/hosts y probablemente este $ _SERVER ["SERVER_NAME"] o $ _SERVER ["HTTP_HOST"] lo recoja? – Jake

1

gethostbyaddr() puede recuperar un nombre de host para la dirección IP, pero sólo si el registro DNS se ha configurado correctamente

Cuestiones relacionadas