2013-05-29 64 views
5

比方說,我們有index.php,它調用session_start()並填充$_SESSION數據。
當用戶在網頁上時,他們點擊一個按鈕,AJAX查詢將被啓動到ajax.php。 ajax.php不會調用session_start(),但它正在成功讀取$_SESSION中的數據。

這是預期的行爲?

+0

我不會期待它,但它看起來像奈爾斯有一個想法。 –

+0

如果您有一個帶有填充數據的$ _SESSION,則會話已由您或其他代碼/配置啓動。 – MatRt

+0

ajax請求只是像$ _REQUEST方法那樣的請求,它們不包含和合並代碼,所以行爲是意想不到的,但似乎有辦法做到這一點,在第一個答案中提到。老實說我不知道​​這個指令 –

回答

7

如果你看一個phpinfo();調用的輸出,你可能會注意到session.auto_start配置變量設置爲1

documentation for further reference。除非設置了這個標誌,否則這絕對不是期望的行爲,並且您可能在某處明確調用了session_start()

+1

奇怪 - 沒有,它關閉了 – davidkomer

+0

d'oh,是的,session_start()正在被加載;) – davidkomer