用ci寫了個(gè)登入頁,程式碼如下:
print_r($this->session->userdata());
$this->session->set_userdata('test',rand(564,489426354465));
echo '<br>';
print_r($this->session->userdata());
輸出:
Array ( [__ci_last_regenerate] => 1497598658 )
Array ( [__ci_last_regenerate] => 1497598658 [test] => 115826667932 )
無論刷新幾次頁面,session裡都不存在test
的值,只是__ci_last_regenerate
的時(shí)間戳增加了,請問這是為什麼?有人遇到過這情況嗎?
#檢查1,不是php配置問題,我在根目錄建了個(gè)php文件,程式碼如下,每次輸出都能輸出正確的session
session_start();
ob_start();
print_r($_SESSION);
$_SESSION['test'] = rand(456,4984945569);
print_r($_SESSION);
ringa_lee
原來的ci版本是3.1.0 (/system/core/CodeIgniter.php中定義的一個(gè)常數(shù)),後來用3.1.3 的system
中所有文件覆蓋了它,問題就解決了,這算是3.1. 0 的bug?
之前是用 php5.5的,前幾天改成了 php7.1.4,不知道是不是這個(gè)原因?qū)е碌?/p>