我在codeigniter会话中解决了一些问题

时间:2016-04-13 14:19:28

标签: php codeigniter session codeigniter-3 unlink

我是一个使用codeigniter 3的应用程序,而在xampp本地服务器上测试一切都很好,但当我在服务器(实时)中托管面临与codeigniter会话相关的问题时。当用户登录并突然执行操作时出现错误unlink(/tmp/ci_session..some file path here..):operation not permitted Filename:drivers/Session_files_driver.php Line Number: 354 即将到来,如果刷新页面错误消失,一切都很好。任何建议都表示赞赏。

2 个答案:

答案 0 :(得分:1)

检查config.php中$config['sess_save_path']的值。使用文件驱动程序进行会话时,必须使用用于存储会话文件的文件夹的绝对路径进行设置。该文件夹必须存在且必须正确设置其权限 - 请尝试0700。

Documentation Here

答案 1 :(得分:1)

在回答文件驱动程序配置请求时,application/config/config.php选项应设置如下

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'sitesess'; //can be any string you like
$config['sess_expiration'] = 0; 
$config['sess_save_path'] = '/absolute/path/to/folder/for/session/files/;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 1800;
$config['sess_regenerate_destroy'] = FALSE;

有关各种选项值的详细信息,请参阅config.php。

config.php中的Cookie相关变量对于正确的会话功能也很重要。特别是Session cookie使用以下选项。

$config['cookie_domain'] = '.example.com';  //for example
$config['cookie_path'] = '/';   //usually works
$config['cookie_secure'] =  FALSE; //Use TRUE to set cookie via HTTPS (server must be setup for SSL), otherwise set to FALSE

存储会话文件的文件夹必须具有适当的权限和所有权。有关权限等的详细信息,请参阅CodeIgniter documentation