自定义了一个session目录中session文件自动删除问题求助
自定义了一个session目录,里面每隔300就生成一个session文件,我的session设置:
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . '\sess';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
是因为sess_regenerate_destroy设置成FALSE,所以没删除吗?之前没设置sess_save_path时,session是会自动删除的,设置之后就不会自动删除了。
求助过期的session文件自动删除的方法
本帖最后由 yuzhigang5460 于 2016-8-3 09:22 编辑
//会话重新生成时是否将以前的session文件内容删除掉。
//如果设为false并且驱动器设为files时,不断刷新含有session的页面,
//你会发现服务器上保存sessions的文件不断增多,不过不用担心,php的GC机制会帮你回收这些资源
$config['sess_regenerate_destroy'] = FALSE;
http://www.ifixedbug.com/posts/how-to-use-codeigniter3-session-3
yuzhigang5460 发表于 2016-8-3 09:20
http://www.ifixedbug.com/posts/how-to-use-codeigniter3-session-3
php的GC机制回收的是php.ini里面设置的session保存文件夹里的文件,但是我自定义的session路径不是设置里面的,因为一个服务器有多个项目,要求的session过期时间不同,所以设置了不同的session文件夹,只有php默认的文件夹里的session文件被回收,其他的文件夹的不会 暂时解决方案:
$config['sess_regenerate_destroy'] = TRUE;
不再生成多余的session,但是session文件仍旧不能删除
短期内没有问题,长期还是会有文件冗余
而且sess_destroy不起作用,生成的session只有读写权限,不知道是不是因为文件权限问题
PHP 的 GC 机制应该都有效啊,你那里没效果么? 本帖最后由 zhhy_work 于 2016-8-5 17:58 编辑
Hex 发表于 2016-8-5 17:01
PHP 的 GC 机制应该都有效啊,你那里没效果么?
是只有php.ini设置的session.save_path文件夹里的会自动回收,但是其他自定义的就无效。
php自带的sess_destroy和CI的session的销毁都不起作用
是因为生成的session只有读写权限,所以不能删除?
zhhy_work 发表于 2016-8-5 17:19
是只有php.ini设置的session.save_path文件夹里的会自动回收,但是其他自定义的就无效。
php自带的sess_d ...
have a try!
页:
[1]