文档章节

和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
memcached实现集群中的session共享存储优缺点

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

科技探索者
2017/11/20
0
0
session自动退出登录解决方法

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

kisshua
2012/04/18
0
1
配置 PHP 的 Session 存储到 Redis

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

slagga
2017/10/31
0
0
php使用redis作为session存储

PHP使用redis作为session存储方式 phpredis安装 phpredis的首页:https://github.com/phpredis/phpredis#installation 解压代码 执行以下命令 phpize./configuremake && make install 更改p......

PatrickWQy
2016/06/10
74
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

angular指令监听ng-repeat渲染完成后执行自定义事件方法

今天工作中遇到需要用到ng-repeat遍历渲染完后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己创建自定义指令。 在ng-repeat模板实例内部会暴露出一些特殊属...

孟飞阳
32分钟前
1
0
URLEncoder和URLDecoder

public static void main(String[] args) { String str1 = "https://test1-life.pingan.com/ilifecore/productMall/loading.html?productId=8000000241&channelCode=XCX00001&productCode=00......

鬼才王
42分钟前
2
0
对象及变量的并发访问-第一篇

方法内部的变量为线程安全变量 “非线程安全”问题存在于“共享变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题,所得结果也就是“线程安全”的。 package chaprer3;/**...

简心
43分钟前
1
0
程序媛眼中的程序猿原来是这样子的!

一直都想写一篇关于描述程序员的文章,但是一直没能开头,一来因为文笔不好,更主要的原因是貌似对程序员既熟悉又不熟悉,很怕写出来的是以偏概全,给大家造成对程序员的既定印象,不过,管他...

Java小铺
今天
1
0
bean标签

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 bean标签 bean标签中的init-method属性,该属性...

凯哥学堂
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部