文档章节

和session相关的ini配置

Complicated32
 Complicated32
发布于 2014/11/19 16:17
字数 727
阅读 18
收藏 0
点赞 0
评论 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
南宁
禁用 COOKIE 后 SESSION 还能不能用

php.ini 中 SESSION 的配置 session.useonlycookies = 0; // 关闭仅使用cookies存放会话id session.usetranssid = 1; // 允许SessionID通过URL明文传输 在这种情况下SESSION是可以使用的,服...

WangEven ⋅ 2012/11/12 ⋅ 0

ini_set的用法介绍

PHP iniset用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。 函数格式:string iniset(string $varname...

freedonn ⋅ 2014/08/26 ⋅ 0

session自动退出登录解决方法

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

kisshua ⋅ 2012/04/18 ⋅ 1

使用memorycache作为session共享配置

# cp /application/php/lib/php.ini{,.bak} 先备份php.ini文件 web集群session共享存储设置: 默认php.ini中session的类型和配置路径: #session.save_handler = files #session.save_path =......

茁壮的小草 ⋅ 01/18 ⋅ 0

PHP session有效期session.gc_maxlifetime

PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。 一个已知管用...

freedonn ⋅ 2014/08/26 ⋅ 0

memcached实现集群中的session共享存储优缺点

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

科技探索者 ⋅ 2017/11/20 ⋅ 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 ⋅ 0

php session 模块的源代码解析

首先是扩展中的目录结构 首先来看几个重要的数据结构,第一个psmodulestruct代表着PHP中session中要实现的几个处理session的函数指针,分别的作用是open、close、read、write、destory等功能...

yusaint ⋅ 2013/07/02 ⋅ 0

WordPress的搭建过程

其实,其主要过程是php的环境搭建过程,因为是第一次用到php,所以特意记录一下,以免以后忘掉。。 声明:这里主要是参考了网上的一些前辈们的文章,然后个人加以整理。 环境:windows XP下;...

叶大侠 ⋅ 2012/01/13 ⋅ 1

Zend_Session以数据库存session方法

Zend_Session以数据库存session方法 在Zend Framework中我们通过ZendSessionSaveHandler_DbTable可以很方便的将Session的存储放到数据库中。我将简单介绍如何将Session配置到数据库中。 首先...

kisshua ⋅ 2012/04/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 56分钟前 ⋅ 0

Spring mvc DispatchServlet 实现原理

在Spring中, ContextLoaderListener只是辅助类,在web 容器启动的时候查找并创建WebApplicationContext对象,通过该对象进行加载spring的配置文件。而真正的逻辑实现其实是在DispatcherSer...

轨迹_ ⋅ 今天 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 今天 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 今天 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部