publica para obtener nombre mostrar gethostname equipo direccion con codigo cliente php ip-address

para - La dirección IP de la máquina en PHP da:: 1 pero ¿por qué?



obtener ip publica php (6)

$ _SERVER [''REMOTE_ADDR''] es la dirección IP del cliente.

$ _SERVER [''SERVER_ADDR''] es la dirección IP del servidor.

Referencia: http://php.net/manual/en/reserved.variables.server.php

Estoy tratando de buscar la dirección IP de mi máquina a través de php. Para eso estoy escribiendo el código como:

<?php echo "<br />".$_SERVER[''REMOTE_ADDR''];?>

Pero este pedazo de código no está funcionando. Está regresando " ::1 ". Por favor, ayúdame a obtener la dirección IP real.


Mira la salida de phpinfo() . Si la dirección no está en esa página, entonces la dirección no está disponible directamente a través de PHP.


Respuesta simple: lo está usando en el servidor local. Prueba correr

function getUserIpAddr(){ if(!empty($_SERVER[''HTTP_CLIENT_IP''])){ //ip from share internet $ip = $_SERVER[''HTTP_CLIENT_IP'']; }elseif(!empty($_SERVER[''HTTP_X_FORWARDED_FOR''])){ //ip pass from proxy $ip = $_SERVER[''HTTP_X_FORWARDED_FOR'']; }else{ $ip = $_SERVER[''REMOTE_ADDR'']; } return $ip; } echo ''User Real IP - ''.getUserIpAddr();

en servidor real O también puedes usar el ejecutor php en línea.


Si está intentando ejecutar localhost, esta respuesta solucionará su problema. Solo algunos cambios en

apache2/httpd.conf

buscar todas las palabras "escuchar" ex:

Listen 80

Haz así

Listen 127.0.0.1:80

que reiniciar tu apache

$_SERVER[REMOTE_ADDR]

mostrará Listen 127.0.0.1

puedes ver la respuesta en este enlace de respuesta detallado


Si quiere decir obtener la dirección IP del usuario, puede hacer algo como:

<?php if(!empty($_SERVER[''HTTP_CLIENT_IP''])){ $ip=$_SERVER[''HTTP_CLIENT_IP'']; } elseif(!empty($_SERVER[''HTTP_X_FORWARDED_FOR''])){ $ip=$_SERVER[''HTTP_X_FORWARDED_FOR'']; } else{ $ip=$_SERVER[''REMOTE_ADDR'']; } ?> <?php echo "<br />".$ip;?>

Obtendrá la dirección IP real del usuario, independientemente de los proxies, etc.


::1 es la IP real. Es una dirección loopback ipv6 (es decir, localhost). Si estuviera usando ipv4, sería 127.0.0.1 .

Si desea obtener una dirección IP diferente, deberá conectarse al servidor a través de una interfaz de red diferente.