Ich habe eine Anmeldeseite mit ci geschrieben, der Code lautet wie folgt:
print_r($this->session->userdata());
$this->session->set_userdata('test',rand(564,489426354465));
echo '<br>';
print_r($this->session->userdata());
Ausgabe:
Array ( [__ci_last_regenerate] => 1497598658 )
Array ( [__ci_last_regenerate] => 1497598658 [test] => 115826667932 )
Egal wie oft die Seite aktualisiert wird, der Zeitstempel, der in der Sitzung nicht vorhanden ist test
的值,只是__ci_last_regenerate
, hat sich erhöht. Ist jemand auf diese Situation gestoßen?
Überprüfen Sie 1, es handelt sich nicht um ein PHP-Konfigurationsproblem. Der Code lautet wie folgt:
session_start(); ob_start(); print_r($_SESSION); $_SESSION['test'] = rand(456,4984945569); print_r($_SESSION);
原来的ci版本是 3.1.0 (/system/core/CodeIgniter.php中定义的一个常量),后来用 3.1.3 的
system
中所有文件覆盖了它,问题就解决了,这算是 3.1.0 的bug?之前是用 php5.5的,前几天改成了 php7.1.4,不知道是不是这个原因导致的