会话无法在codeigniter中工作

时间:2017-05-01 14:01:31

标签: php codeigniter session

会话在codeigniter中不起作用

在我的屏幕中显示以下错误

enter image description here

我们的配置代码

$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;

1 个答案:

答案 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