首頁  >  問答  >  主體

php - ci無法設定session的問題

用ci寫了個登入頁,程式碼如下:

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的時間戳增加了,請問這是為什麼?有人遇到過這情況嗎?

檢查1,不是php配置問題,我在根目錄建了個php文件,程式碼如下,每次輸出都能輸出正確的session

#
session_start();
ob_start();

print_r($_SESSION);
$_SESSION['test'] = rand(456,4984945569);
print_r($_SESSION);
ringa_leeringa_lee2706 天前912

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-06-17 09:17:22

    原來的ci版本是3.1.0 (/system/core/CodeIgniter.php中定義的一個常數),後來用3.1.3 的system中所有文件覆蓋了它,問題就解決了,這算是3.1. 0 的bug?

    之前是用 php5.5的,前幾天改成了 php7.1.4,不知道是不是這個原因導致的

    回覆
    0
  • 取消回覆