2010-12-12 31 views
16

Estoy trabajando en un sitio web, y una de las cosas que me gustaría hacer es mostrar MI dirección IP a los usuarios. El sitio web está hecho con CodeIgniter, así que estaba buscando la IP de mi servidor con PHP. La dirección IP puede cambiar (es un roamer), por lo que me gustaría encontrarla de forma dinámica, no solo codificarla. He intentado esto:Servidor de pantalla PHP Dirección IP

$data['hostname'] = NULL; 
$data['ip'] = NULL; 
$var = gethostname(); 
if ($var === FALSE) { 
    $var = NULL; 
} else { 
    $data['hostname'] = $var; 
    $data['ip'] = gethostbyname($var); 
} 

Sin embargo, en vez de darme el nombre de host y el PI, que tengo: "Moria" y "127.0.1.1". No es exactamente lo que estoy buscando. En su lugar, debe decir "Moria.student.rit.edu" para el nombre de host y la dirección IP. ¿Alguna ayuda?

Respuesta

-5

Si su aplicación laravel se está ejecutando en un servidor interno, puede utilizar el siguiente para obtener la dirección externa del servidor:

$external_ip = exec('curl http://ipecho.net/plain; echo'); 
+2

Mal, malo e incorrecto. Este código es muy pobre y nunca debe usarse en producción. Debería usar la biblioteca intrínseca de PHP Curl. Esto evita forking el proceso http para generar un shell. ¿Quién sabe si 'curl' está en el camino? ¿Para qué es el "eco"? En cualquier caso, nunca se debe permitir un servidor web fuera del perímetro de su organización. Si es necesario, debe pasar a través de un proxy interno. – dland

+2

No existe una sola mención de laravel en esta página completa, acepte la suya. -1 – TheBlackBenzKid

Cuestiones relacionadas