本帖最後由 MoreQuestion 於 2011-03-20 07:57:23 編輯
如先瀏覽a.php檔案,裡邊寫入一個會話值。
再瀏覽b.php,得到a.php寫入的會話值。為空白!
為什麼呢?在本地機器上測試非常正常。一上傳伺服器就完了。
PHPINFO的session資訊
session.save_path D:/hosting/user/html/temp D:/hosting/user/html/temp
這個檔案夾可讀可寫。
當瀏覽a.php頁時,產生一個有大小的檔案,也儲存了會話值。
當瀏覽b.php頁時,產生一個大小為0的檔案。拿不到?什麼原因?
sessionSession Support enabled Registered save handlers files user Registered serializer handlers php php_binary wddx Directive Local Value Master Value session.auto_start Off Off session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_httponly Off Off session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 100 100 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 4 4 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path D:/hosting/user/html/temp session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid 1 1
a.php
session set
這個檔案正常,可以列印出會話值。
b.php
session get
這個什麼也沒有
回複討論(解決方案)
var_dump($_SESSION['session_value']);
你伺服器上也是這個?
session.save_path D:/hosting/user/html/temp
在你本地可能是能找到的,你伺服器上有這個目錄嗎?
確實表示上面的代碼沒問題.本地可以測試.伺服器暫時沒測.可以考慮一下二樓的建議.
a與b有沒有跨域呢?
你伺服器上也是這個?
session.save_path D:/hosting/user/html/temp
在你本地可能是能找到的,你伺服器上有這個目錄嗎?
在伺服器我專門設定這個是萬能檔案夾,可寫可一切一切的
var_dump($_SESSION['session_value']);
也是不行,都沒有值……
什麼原因?伺服器是IIS。但不可能的呀,會這樣,本地也虛擬了相同環境去測試,但還是這個樣子,痛苦死我了
兩個頁我都session_id(1)之後就可以顯示值了,但是這樣多使用者可不行了
瀏覽器的問題吧?
瀏覽器有什麼問題?
我用IE6到IE9都是一個樣……沒變化。
session_id(SID);
session_start();
session_id(SID);
session_start();
SID是常量 ?
擦,你解決了嗎,我今天剛遇到這個問題,搞了一天還是沒能解決!
比較討厭php這個session的問題。