2012-04-30 24 views
0

我正在開發一個使用PHP會話的站點,但$ _SESSION數組僅在「/index.php」文件名存在時才起作用。 「/」和「/index.php」指向相同的文件,但由於某種原因,PHP會話僅在URL地址中可視地顯示「/index.php」時才起作用。我在網上搜索了這是爲什麼,還沒有找到答案。任何想法爲什麼發生這種情況?PHP會話只在查看實際的index.php時才起作用?

*注意:會話同時在本地主機上的「/」和「/index.php」上工作,但不在我的實際服務器上!

+0

你開始了所有php文件的會話? –

+0

檢查會話cookie設置,並使用諸如Firefox的HTTPFox和/或Firebug的NetTab之類的嗅探器來查看標題中來回的內容。 –

+0

@vipin:'/'和'/ index.php'都會加載SAME腳本。 –

回答

0

你在看同一個域名嗎?我在我的網站上遇到了這個問題 - 請注意www.example.org與example.org不是一樣的域名。

此外,請確保兩個網址上的PHPSESSID Cookie相同。如果不是,則加載不同的會話。

+0

我試着添加www。之前的域名,但它沒有區別,我也檢查了PHPSESSID,他們都是一樣的。我在index.php文件本身上創建了一個測試會話變量,該變量顯示在「/」和「/index.php」上,但在不同的PHP文件上創建的會話僅顯示「/ index .php「文件? –

+0

你確定你的目錄索引是index.php嗎? 我不知道爲什麼它會在其他地方,但它是我能想到的唯一合乎邏輯的事情。 – Shane

+0

積極,其中。我難住爲什麼它的行爲... –