IP Adresi almanın farklı yolları

6 Cevap

Aslında sorunun 1636644 geçiyor .. ve bu ile Şaşırdınız

" The getenv() function access to any environment variable to get the related value! "

Ayrıca ..

" It would probably be better to use $_SERVER['REMOTE_ADDR']; to prevent incompatibilities between servers. "

Bu uyumluluk sorunu ne tür olabilir?

Son olarak, .. $ _SERVER birçok unsurları ile bir dizidir ama ben orada sadece IP Adresini bulmak diyor başka bu dizi mağaza bir şey de yok??

birinde paketlenmiş tüm bu sorular için özür dilerim .. bu bu ilgili tüm vardır bcoz olduğunu ..

6 Cevap

Tüm $_SERVER ne içerdiğini görmek için, sadece yapın:

echo "<pre>";
print_r($_SERVER);
echo "</pre>";

Önceden etiketi sadece tarayıcıda çıktı prezentabl yapar.

Sunucu ayarlıyor çevre değişkenleri (ve daha ton) TÜM görmek için, sadece sahip bir senaryo yapmak:

<?php

phpinfo();

?>

Bu PHP Variables olarak, dibe doğru listelenir.

Çevre değişkenleri farklılıklar HTTP sunucusu (IIS vs apache) ve bu sayfanın SSL üzerinde servis edilir gibi diğer faktörlere dayalı olabilir.

Lütfen Sunucusu API ASAPI (IIS) ise işlevi 'getenv' çalışmaz.

(source)

Ayrıca, this link $ _SERVER değişkeni içinde yer olabilir ne için bkz.

$ _SERVER Birçok bilgi içerebilir; Eğer ilgi olabilir:

  • HTTP_CLIENT_IP
  • HTTP_FORWARDED
  • HTTP_X_FORWARDED_FOR
  • REMOTE_ADDR

Ben bu uyumsuzluklar nedeniyle web sunucusu kendi ortam değişkenleri yönetmek farklı şekillerde olacağını düşünüyorum.

$ _SERVER Değişkeni kendisi bu farklılıkları yönetir.

Son soruyu cevaplarken, sen $ _SERVER dizisinde bu şekilde değişkenleri erişebilirsiniz:

$_SERVER['SCRIPT_NAME']
$_SERVER['REQUEST_URI']

vesaire ... Burada referans görebilirsiniz: http://www.php.net/manual/en/reserved.variables.server.php

Lütfen sunucusu hakkında diğer yararlı bilgiler bir dizi ile birlikte $ _SERVER içeriğini görmek için aşağıdaki içeren bir php sayfası oluşturun.

<?php phpinfo(); ?>

$ _SERVER U ip adresini bulabilirsiniz bu 3 yolları kullanarak ['ROMOTE_ADDR'], ROMOTE_ADDR, gethostbyname ()