会话在codeigniter中不起作用
在我的屏幕中显示以下错误
我们的配置代码
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
答案 0 :(得分:1)
问题在于此设置
$config['sess_save_path'] = NULL;
如果您想使用$config['sess_driver'] = 'files';
,则需要
$config['sess_save_path'] = 'the/absolute/path_to_your/session_files';
例如,如果您希望这些文件位于名为" sessions"的文件夹中。与CodeIgniter的index.php
文件处于同一级别使用此文件。
$config['sess_save_path'] = FCPATH.'sessions/';
常量FCPATH
是CI index.php
所在文件夹的绝对路径。通常,这也是公共html文件的根文件夹。 FCPATH
在Linux上看起来像/var/www/yoursitename/
或在Windows上看起来像C:\Users\YourName\Documents\www\yoursitename\
。
将会话文件夹放在" public"之外是一个很好的安全策略。 html文件。换句话说,FCPATH
之上的目录。在这种情况下,"会话"文件夹与公共html文件处于同一级别。配置就是这个。
$config['sess_save_path'] = substr(FCPATH, 0, strpos(FCPATH, 'www/'))."sessions/");
请注意,上面的'www/'
必须与公共(root)html文件夹的名称相同。
此外,文件的位置需要正确设置写入该文件夹的权限。咨询documentation。