phpsession配置
1. 介绍
1.1 作用:
主要用于服务器端的会话保持。
1.2 结构:
Session分以下几部分:
1)Session id 用户Session的唯一标识(随机生成,具有唯一性,随机性)
2)Session data 保存用户状态信息(用户数据)
3)Session file Session的存储方式,文件存储方式以"sess_"前缀+"Session_id"后缀的方式存储 格式如下: 1 sess_d3eom13a9r9p5i5nj923voqaf7
4)Session lifetime Session生存时间(从Session的产生到生命周期的结束)
1.3 工作原理:
1)客户端与服务器建立联系
2)客户端将session id传递给服务器
3)服务器根据session id建立相应的session id文件(session id序列化保存,读取时反序列化)
唯一标识的方法有两种:cookie或者通过GET方式指定
1.4 缺点:
1)使用Session会影响系统性能(受文件系统设计影响,目录定义超过10000个文件非常耗时)
2)Session文件大小1~2K,数量庞大的小文件影响硬盘IO性能
PS:此可以使用redis memcache的方式来共享session ,同时也解决了影响系统性能的问题
2.配置文件:
[Session]
session.save_handler = files #session的存储方式
session.use_cookies= 1 #使用cookies在客户端保存会话
session.use_only_cookies = 1 #去保护URL中传送session id的用户
session.name = PHPSESSID #session名称(默认PHPSESSID)
session.auto_start = 0 #不启用请求自动初始化session
session.cookie_lifetime = 0 #cookie存活时间(0为直至浏览器重启,单位秒)
session.cookie_path = / #cookie的有效路径
session.cookie_domain = #cookie的有效域名
session.cookie_httponly = #httponly标记增加到cookie上(脚本语言无法抓取)
session.serialize_handler = php #PHP标准序列化
session.gc_probability =1
session.gc_divisor =1000 #建议设置1000-5000 #概率=session.gc_probability/session.gc_divisor(1/1000 #页面访问越频繁概率越小 session.gc_maxlifetime =1440 #过期时间(默认24分钟,单位秒)
session.bug_compat_42 = off #全局初始化session变量
session.bug_compat_warn = off
session.referer_check = #防止带有ID的外部URL
session.entopy_length = 0 #读取的字节
session.cache_limiter = {nocache,private,pblic} #HTTP缓冲类型
session.cache_expire = 180 #文档过期时间(分钟)
session.use_trans_sid = 1 #trans_sid支持(默认0)
session.hash_function = 0 #hash方法{0:md5(128 bits),1:SHA-1(160 bits)}
session.hash_bits_per_character = 5 #当转换二进制hash数据奥可读形式是,每个字符保留位数
session.save_path = "/var/lib/php/session" #session id存放路径
可以分层存放phpsession,更高效率的去查找session文件
格式: session.save_path = "N;MODE;/path"
-- N定义目录层数(例如2,目录需手动创建)
-- MODE定义单目录最大会话文件数量(默认8进制600)
配置好之后,需要按自定义的目录层数,需结合hash_bits_per_character参数来生成目录结构
#!/bin/bash
perl -e '
$dir="./phpsession";
@N=(..,"a".."z");
for $i (..$#N) {
mkdir "$dir/$N[$i]";
for $j (..$#N) {
mkdir "$dir/$N[$i]/$N[$j]";
for $k (..$#N) {
mkdir "$dir/$N[$i]/$N[$j]/$N[$k]";
}
}
}'
PS:
4 bits: 0-9, a-f
5 bits: 0-9, a-v
6 bits: 0-9, a-z, A-Z, "-", ","
phpsession配置的更多相关文章
- phpMyAdmin:无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装。
一:错误提示 英文:Cannot start session without errors, please check errors given in your PHP and/or webserve ...
- modsecurity配置指令学习
事务(transactions) Console(控制台) 1 Introduction Modsecurity是保护网络应用安全的工作.不,从零开始.我常称modsecurity为WAF(网络应用防 ...
- CentOS7 Zabbix4.0环境下的安装和配置实例
1.安装准备 Zabbix4.0对基础架构有一定的要求,对的英文尤其PHP状语从句:MySQL: 类型 内容 服务端运行环境 Linux和PHP与Web服务器和数据库 服务端操作系统 CentOS7. ...
- centos7 yum搭建lnmp环境及配置wordpress超详细教程
yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...
- zabbix4.0的安装与配置
#安装zabbix监控首先的先安装LNMP环境,在这里我采用事先准备好的脚本进行安装LNMP环境 脚本内容如下: #!/bin/bash # DATE:Wed Jan # hw226234@126.c ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- react-router 组件式配置与对象式配置小区别
1. react-router 对象式配置 和 组件式配置 组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
随机推荐
- Intellij idea上传项目到github
操作前提 1.安装了 git for windows客户端 2.配置了rsa公钥 3.设置了邮箱和用户名 详情请看上一篇博客http://www.cnblogs.com/520playboy/p/66 ...
- 欢迎使用markdowm编辑器
欢迎使用Markdown编辑器写博客 [Mark一下CSDN用Markdown的写法而已] 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown ...
- SpringMVC 多个数据源 配置多个事物管理器 Multiple Transaction Managers
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/transaction.html#transaction ...
- Hadoop集群时钟同步
1. 为什么集群需要使用时间同步 暂时保留. 2. hadoop集群如何同步 2.1 以下面hadoop集群为例子: 10.10.11.1 master 10.10.11.2 slave 10.10 ...
- innobackupex参数之 --throttle 限速这个值设置多少合理 原创
innobackupex参数之--parallel --throttle--parallel 此参数用于开启多个子进程并发备份多个数据文件(注意,一个数据文件只会有一个进程完成备份).可以加快备份速度 ...
- 修改 ueditor1_4_3-utf8-php 它的图片上传地址
本来是这样的 至少应该是在,myapp目录下吧,从myapp文件夹,我的网站才刚开始啊...你让我将来怎么设置?麻烦... 找到uploader的文件 $rootPath = $_SERVER['DO ...
- 远程桌面能连接到服务器,但PING不通
解决方法:
- e662. 取的图像的色彩模型
// This method returns the color model of an image public static ColorModel getColorModel(Image imag ...
- 【转载】C#进阶系列——动态Lamada(二:优化)
前言:前几天写了一篇动态Lamada的文章C#进阶系列——动态Lamada,受园友xiao99的启发,今天打算来重新优化下这个动态Lamada的工具类.在此做个笔记,以免以后忘了. 一.原理分析 上篇 ...
- php获取当月的第一天以及最后一天
<?php header("Content-Type:text/html;charset=utf-8"); $date = date("Y-m-d H:i:s&qu ...