PHP display server IP-Adresse

Jeg arbejder på en hjemmeside, og en af de ting, jeg gerne vil gøre, er at vise MIN IP-adresse til brugerne. Hjemmesiden er lavet med CodeIgniter, så jeg var på udkig for at finde min server IP med PHP. IP-adressen kan ændres (det er en roamer), så jeg vil gerne finde det dynamisk, ikke bare svært kode det. Jeg har prøvet dette:

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

Men i stedet for at give mig Værtsnavn og IP, jeg fik: “Moria” og “127.0.1.1”. Ikke helt, hvad jeg leder efter. Snarere, det skal sige “Moria.student.rit.edu” for Værtsnavn og IP-adresse. Enhver hjælp?

OriginalForfatteren Ethan Mick | 2010-12-12

2 svar

  1. -8

    Hvis din laravel programmet kører på en intern server, kan du bruge følgende for at få eksterne adressen på den server:

     $external_ip = exec('curl http://ipecho.net/plain; echo');
    Onde, onde og forkerte. Denne kode er meget dårlig og bør aldrig bruges i produktionen. Du skal bruge den iboende PHP Curl bibliotek. Dette undgår gaffel http proces for at gyde en shell. Hvem ved, om curl er i vejen? Hvad er echo for? Under alle omstændigheder, en web-server, der aldrig burde være tilladt uden for din organisation omkreds. Hvis det er at, det skulle ske via en intern proxy.
    Ikke en eneste omtale af laravel findes på denne side acceptere din. -1

    OriginalForfatteren jmurray

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *