文档章节

和session相关的ini配置

Complicated32
 Complicated32
发布于 2014/11/19 16:17
字数 727
阅读 18
收藏 0

=====session的存储===== session.save_path = 路径

session.save_path ="/var/lib/php/session" 指定保存session文件的目录,可以指定到别的目录,但是指定目录必须要有httpd守护进程属主(比如apache或www等)写权限,否则无法回存session数据。当指定目录不存在时,php session环境初始化函数是不会帮你创建指定目录的,所以需要你手工建立指定目录。 它还可以写成这样session.save_path ="N;/path" 其中N是整数。这样使得不是所有的session文件都保存在同一个目录中,而是分散在不同目录。这对于服务器处理大量session文件是很有帮助的。(注:目录需要自己手工创建)

=======session的存储方式===== session.save_handler = 类型

用于读取/回写session数据的方式,默认是files。它会让PHP的session管理函数使用指定的文本文件存储session数据

可以配置数据库存储 w:session.save_handler = redis

另外通过ini_set('session.save_handler', 'user');//动态设置session存储方式 或者session_module_name('user),如果设置为自定义了,要自定义session操纵 session_module_name('user'); //session文件保存方式,这个是必须的!除非在Php.ini文件中设置了 session_set_save_handler( array(&$this, 'open'), //在运行session_start()时执行

    array(&$this, 'close'), //在脚本执行完成或调用session_write_close() 或 session_destroy()时被执行,即在所有session操作完后被执行

    array(&$this, 'read'), //在运行session_start()时执行,因为在session_start时,会去read当前session数据
    array(&$this, 'write'), //此方法在脚本结束和使用session_write_close()强制提交SESSION数据时执行

    array(&$this, 'destroy'), //在运行session_destroy()时执行

    array(&$this, 'gc') //执行概率由session.gc_probability 和 session.gc_divisor的值决定,时机是在open,read之后,session_start会相继执行open,read和gc
); 
session_start(); //这也是必须的,打开session,必须在session_set_save_handler后面执行

====session.auto_start = 0 如果启用该选项,用户的每次请求都会初始化session。我们推荐不启用该设置,最好通过session_start()显示地初始化session。 =====session.gc_probability=1 =====session.gc_divisor=1000 =====session.gc_maxlifetime = 1440 PHP GC进程被启动以后,则会扫描session.save_path,找出过期的session,并删除该session文件。所谓,过期的session,是指操作系统当前时间与session文件最后访问时间之差大于session.gc_maxlifetime的话,该session认为是过期了。注意:有时候,你会发现,即便是文件过期了,有可能也没有被及时地删除掉。这是因为,每次session初始化的时候,并不会都启动PHP GC进程的,启动GC进程会大大降低php的运行效率。所有一个启动概率,这个概率由php.ini设定session.gc_probability / session.gc_divisor二个设置决定,默认概率是1%(1/1000)。这意味着,每1000次用户请求中,会启动1次PHP GC回收session文件

© 著作权归作者所有

共有 人打赏支持
Complicated32
粉丝 0
博文 4
码字总数 3720
作品 0
南宁
PHP沉思录-第五篇-Session有效期问题-左轻侯-《程序员》2008年10月号

创建时间:2008-11-09 01:12:09 最后修改时间:2008-11-09 01:12:09 本文发表在《程序员》杂志第10期 PHP沉思录之五:Session有效期问题 左轻侯 2008.9.07    Session处理是所有的Web应用都...

一配
2015/10/16
9
0
session自动退出登录解决方法

先说说现象:今天登录后台的时候,很奇怪一登录就退出,后台代码一直没有改动过,查了一下原因,找到了根本原因,后面会贴上找到的相关文档。解决办法就是在产生的session的页面session_sta...

kisshua
2012/04/18
0
1
memcached实现集群中的session共享存储优缺点

优点说明: 1. memcached是内存缓存,在读写速度上会比普通files时快很多 2. 可以解决多个服务器公用session的难题 缺点说明: 1. session数据都保存在memory中,持久化方面有所欠缺,但对s...

科技探索者
2017/11/20
0
0
PHP下的session的生存周期

首先说一下session的创建的开始到结束的过程。 当程序需要为某个客户端的请求创建一个 session 的时候,服务器首先会检查这个客户端是否已经包含了一个 session 标识,这个我们称为 session ...

dingdayu
2015/10/05
198
0
配置 PHP 的 Session 存储到 Redis

PHP 的会话默认是以文件的形式存在的,可以配置到 NoSQL 中,即提高了访问速度,又能很好地实现会话共享,,,爽歪歪!配置方式如下: 方法一:修改 php.ini 的设置 session.save_handler =...

slagga
2017/10/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Laravel UNION联合查询并分页

$xk = DB::table('xiaokes')->select(['id','xk_name as name','xk_teacher_id as tid','ke_type','created_at']) ->where('xk_teacher_id',$id); $query = DB::......

一只懒猫-
33分钟前
1
0
187 修改centos的密码

先登录

Lucky_Me
40分钟前
3
0
通过Timer类实现App 启动页停留三秒效果

Timer timer = new Timer(); //参数1:每次执行的任务代码 参数2:延时多少毫秒执行 参数3:任务间隔 单位:毫秒 timer.schedule(new TimerTask() { @Over...

lanyu96
46分钟前
0
0
pip更改下载源设置

任何一个信息都可以把人分为两类,知道的和不知道的。有些我们已知的信息,自己觉得很平常,却可能对另一些不知道的人来说很有用处。 比如今天要说的这个小技巧,我自己原以为不值一提,网上...

crossin
47分钟前
2
0
css预加载

css /* 预加载图片,挂在body上 */.preload-img:after{ content:""; background: url(../images/new/full_bg2.jpg) no-repeat -10000px -1000px;} js $(function(){ /......

红羊在厦门
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部