文档章节

和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
南宁
私信 提问
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
PHP 配置 Session存储方式 为Redis

Redis 如果配置了密码,/etc/redis.conf 中的 requirepass ,session 存储时会报错 方案:session.save_path = "tcp://127.0.0.1:6379?auth=authpass" 从Redis 中读取session key = "PHPRED......

指尖芳华
04/12
0
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

没有更多内容

加载失败,请刷新页面

加载更多

初探Spring Cloud(一)

1. 什么是Spring Cloud? Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,...

__HuWei
14分钟前
0
0
Mac配置ssh免密钥登录

Mac终端每次使用ssh -p 22 user@ip登录很是麻烦,下面介绍配置ssh免密钥登录: cd ~/.ssh下创建conf文件,写入以下配置: Host test HostName ip Port 22 IdentityFile /Users/t/key/test.p...

littlemesieV
29分钟前
1
0
Spark2.0操作ES

ES提供了支持包来方便的操作ES。首先添加ES的依赖maven: <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch-spark-20_2.11</artifactId> <version>6.2.0</ver......

守望者之父
31分钟前
1
0
专业术语

1、防御性编程 DruidDataSource类有一个init方法,我们在spring中配置druid时,都会指定 init-method='init'. 而且DruidDataSource也在其他地方,诸如getConnection()方法里作了防御性编程, 也就...

still5656
33分钟前
1
0
微信开发--测试账号相关

1、微信公众平台选择代码开发后,其平台上的部分功能会不可用 可在开发者工具中选择开通测试账号,进行相关的功能调试(测试账号出微信支付不可调试外,其他功能基本上都可以调试) 2、测试账号...

Code辉
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部