如果您熟悉像VB.NET這樣的編程語言,那麼您知道在不同的應用程序實例之間共享名稱Shared-Memory。我的問題是:會話變量在PHP中的行爲是否相同?會話變量是否在共享內存中?
假設這樣的場景:
我在的網站的鏈接上點擊兩次(兩個請求與相同的頭文件,同樣的Cookie,但在不同的時間發送)。 $_SESSION['num']
設置爲0
現在:
在12:00:00.01第一請求是由服務器接收的
在12:00:00.03第一請求開始其會話
在12:00:接收00.04秒請求由服務器
在12:00:00.05第二個請求開始其會話。
12:00:00.06第一個過程將10
添加到值$_SESSION['num']
。
在12:00:00.07秒處理將10
添加到值$_SESSION['num']
。
12:00:00.09兩個過程都完成了。
現在,有兩種可能的答案:$_SESSION['num']
是10
或$_SESSION['num']
是20.哪一個是答案?
快速回答:沒有。至於你的例子,這完全取決於每個請求是否共享同一個會話 – Phil
@Phil我說我**點擊了兩次鏈接**,這意味着它們都使用相同的會話! – undone
啊,我的道歉。 「點擊」就是這樣一個模糊的術語。沒有進一步的信息,比如使用哪個瀏覽器,標籤等,我不想妄下結論。那麼答案是20. – Phil