PHP中getenv()和$_SERVER的區別


PHP中getenv()和$_SERVER的用法區別:

getenv 取得系統的環境變量,環境變量的格式為name=value。

語法: string getenv(string varname);

返回值: 字符串 函數種類: PHP 系統功能

內容說明

若正確取得環境變量 varname,則返回變量值,失敗則返回 false。

下例可以取得用戶瀏覽器所在機器的網址

<?php

$ip = getenv(“REMOTE_ADDR”);

?>

$_SERVER是服務器超級全局變量數組 用$_SERVER['REMOTE_ADDR']同樣可以獲取到客戶端的IP地址。

二者的區別在於,getenv不支持IIS的isapi方式運行的PHP。

 


 

【轉】解決PHP獲取不到ip地址`函數getenv(“REMOTE_ADDR”)與$_SERVER['REMOTE_ADDR']的區別

最近用PHP幫朋友寫了個用於投票的頁面,一切都很順利,裝上后發現:訪客IP地址沒能記錄上(沒能成功獲取IP地址),怪事,當初本地測試都好的呀。難不成本地和服務器有別,馬上開個空間,測試,仍然一切正常。再一個個問題都排除后,了解到對方是windows下的iis,而自己測試都在apache上,很可能是這個原因。

馬上更換函數:將原來的ip地址獲取函數”getenv(“REMOTE_ADDR”)“更換為”$_SERVER['REMOTE_ADDR']“,覆蓋更新,再看數據庫,ip地址已經成功記錄,搞定。

既然再次遇到這問題,就還是記錄下吧:PHP中獲取訪客(客戶端)的ip地址函數getenv(“REMOTE_ADDR”) 與$_SERVER['REMOTE_ADDR']的區別,其實,通過這件事,已經很清楚了。getenv(“REMOTE_ADDR”)函數在 apache下能正常獲取ip地址,而在iis中,一點作用都沒,而$_SERVER['REMOTE_ADDR']函數,既可在apache中成功獲取 訪客的ip地址,在iis下也同樣有效。

 

摘自:http://wanglianghuaihua.blog.163.com/blog/static/54251531201091211275342/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM