[英]Codeigniter 3 Session not working With PHP 7.1.4
我有一個使用Codeigniter 3 HMVC
構建的應用程序。該應用程序在 PHP 5.6
版本上運行良好,但在將我的 PHP 版本升級到7.1.4
我無法登錄到我的應用程序。 經過全面檢查后,我發現會話根本沒有設置。
我角色回到 PHP 5.6
並且會話再次正常工作,同時切換到 PHP 7.1.4
將“會話不工作”問題帶回來。
我嘗試更改一些配置值,如 cookie 前綴和 cookie 保存名稱等,似乎沒有任何解決方法。
任何人都可以請幫忙。
我發現問題出在某些早期版本的 Codeigniter 3 上,這是他們網站上已經報告的錯誤。底層會話錯誤已修復:
所以在最新版本的 Codeigniter 3 中不會發生這個問題。
如果您已經在一個有問題的版本 codeigniter 中,請考慮用最新版本的系統文件夾替換系統文件夾。 撰寫本文時的版本為 3.1.6。
在 XAMPP(windows) 上的 codeigniter 3.1.9 和 PHP 7.2 中,我檢查了我的 application/config/config.php 並看到 sess_driver 是數據庫:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = '165_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = "ci_sessions";
所以我創建了數據庫 ci_sessions :
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);
它奏效了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.