我不知道为什么,但是我的CodeIgniter应用程序在服务器tmp文件夹中创建了太多ci_sessions文件。至少每分钟1000个会话文件。似乎没有删除旧的会话文件
我正在使用此设置
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 1000;
$config['sess_regenerate_destroy'] = TRUE;
如何摆脱这个问题?
答案 0 :(得分:0)
解决方案
添加此代码
ini_set('session.save_path',realpath(dirname($_SERVER['DOCUMENT_ROOT']) . '/tmp'));
ini_set('session.gc_probability', 1);
答案 1 :(得分:0)
在您的php.ini中添加此
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
还要在您的codeigniter配置文件中,检查是否已启用regenerate_destroy和有效期。
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = ‘mysession';
$config['sess_expiration'] = (60 * 60);
$config['sess_save_path'] = FCPATH . "sessions";
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;
基本上,默认情况下gc_probability设置为0,并且这些文件无法删除。因此,将其更改为1会自动启用文件删除。