例如thinkphp程式中有一個class,它有一個屬性為取得使用者的referrer
if($_SERVER['HTTP_REFERER']==null){
$visitor_info.='&referrer='.'empty';
}else{
$visitor_info.='&referrer='.$_SERVER['HTTP_REFERER'];
}
$this->visitor_info=$visitor_info; //一个属性为获取用户的referrer
當同時有多個使用者存取權時,每個使用者都有一個對應不衝突的 $this->visitor_info 是嗎?
請問 並發訪問不衝突,背後的原理是什麼? ?
是不是每個使用者造訪時,都會在記憶體中劃一塊區域保存對應的引用? ?
一般來說,一個用戶建立連接訪問,伺服器會開闢一個新的進程服務該請求,在這個進程中,php解釋器會去讀取php檔案的內容,會實例化一個對象,這個對象會有一個引用,等請求結束了,所有資料被回收,引用就不存在了。
就是每個使用者存取的時候 程式逐一進入記憶體 CPU逐個處理的。這個應該跟CPU機制和記憶體相關知識有關係。並不是PHP的問題。一段程式執行完必然有一個結果,Apache吧結果拿到了就回傳嘛。
因為php是多進程模式。 。造訪的時候每個使用者都是獨立的進程空間