比方說,我們有index.php,它調用session_start()
並填充$_SESSION
數據。
當用戶在網頁上時,他們點擊一個按鈕,AJAX查詢將被啓動到ajax.php。 ajax.php不會調用session_start()
,但它正在成功讀取$_SESSION
中的數據。
這是預期的行爲?
比方說,我們有index.php,它調用session_start()
並填充$_SESSION
數據。
當用戶在網頁上時,他們點擊一個按鈕,AJAX查詢將被啓動到ajax.php。 ajax.php不會調用session_start()
,但它正在成功讀取$_SESSION
中的數據。
這是預期的行爲?
如果你看一個phpinfo();
調用的輸出,你可能會注意到session.auto_start
配置變量設置爲1
見documentation for further reference。除非設置了這個標誌,否則這絕對不是期望的行爲,並且您可能在某處明確調用了session_start()
。
奇怪 - 沒有,它關閉了 – davidkomer
d'oh,是的,session_start()正在被加載;) – davidkomer
我不會期待它,但它看起來像奈爾斯有一個想法。 –
如果您有一個帶有填充數據的$ _SESSION,則會話已由您或其他代碼/配置啓動。 – MatRt
ajax請求只是像$ _REQUEST方法那樣的請求,它們不包含和合並代碼,所以行爲是意想不到的,但似乎有辦法做到這一點,在第一個答案中提到。老實說我不知道這個指令 –