2014-03-12 30 views
-1

下面的代碼

<?php print_r(session_get_cookie_params()); session_set_cookie_params(3600, "/", "mydomain.com");

當我刷新頁面,上面的參數都不會保存

session_start(); var_dump($_SESSION); $_SESSION['name'] = "name";

當我刷新頁面,則以上變量不保存

var_dump($_SESSION); print_r(session_get_cookie_params());

但是,第一次加載頁面時,變量和參數都正確顯示。

?>

第一的var_dump總是返回一個空數組,第二成功返回其內的「名稱」。

$ _SESSION變量只有最後一次頁面加載。

我嘗試過命名會話,添加一個(很長)超時,鏈接到一個不同的頁面,但$ _SESSION變量只有最後一次頁面加載。

這是服務器的問題嗎?

+2

你之前有一個空格

+0

要檢查服務器的配置做:'的print_r(session_get_cookie_params());' – Mike

回答

2

如果可寫,請使用session_save_path()進行檢查。

if (!is_writable(session_save_path())) { 
    echo 'Session path "'.session_save_path().'" is not writable for PHP!'; 
} 

這是從以前的帖子:PHP Session not Saving

+0

謝謝!恥辱我沒有儘早找到那個網頁。 – Tzshand

0

如果使用memcache/redis/mysql會話存儲後端,它可能會關閉。是否顯示任何錯誤?嘗試在PHP.ini中啓用錯誤報告並重新運行代碼。

也許你已經在session_start() 之前加上了一些html輸出,這可以防止設置會話。

相關問題