PHP5 session
php5中session的默认实现方式是cookies原理.
将session_id存储于客户端中,将session_name等session变量存储与服务器session_path指定的目录中
每当客户端发送HTTP请求时都会同时发送session_id过去,服务器根据session_id获取相应的值信息
session_id的发送如果客户端cookies被禁止了那么PHP5会自动采用URL的方式发送
session的配置项目中
php.ini中有关session的一些设定会影响到session函数的使用,所以我们先整体了解一下php.ini中有关session的设定。
以php5版本为例
;处理session存取的模式(预设:files)
session.save_handler = files
;session档案存放路径(预设:/tmp)
session.save_path = /tmp
;session使用cookie的功能(预设:启动 1)
session.use_cookies = 1
;session的名字(预设:PHPSESSID)
session.name = PHPSESSID
;自动启动(预设:关 0,此处可以改为1)
session.auto_start = 0
;session使用cookie的生存期,以秒为单位(预设:随浏览器关闭而消失 0)
session.cookie_lifetime = 0
;session使用cookie的路径(预设:与domian相同或根路径 /)
session.cookie_path = /
;session使用cookie的域名称(预设:空)
session.cookie_domain =
;处理连续资料的方式,本功能只有WDDX模组或PHP内部使用(预设:php)
session.serialize_handler = php
;按千分之一的比率进行垃圾收集
;垃圾收集的处理几率(预设:1)
session.gc_probability = 1
;设置进程比率,(php5新增参数,预设:1000)
session.gc_divisor = 1000
;(垃圾收集)被处理前的生存期(预设:1440[秒])
session.gc_maxlifetime = 1440
;PHP 4.2和以前的版本都有个BUG,即使你禁止了"允许注册全局变量".仍然可以让你在全局变量范围中初始化一个SESSION的值
;PHP 4.3 和以后的版本会发出相应的警告,你可以禁止警告.PHP5中,只有你打开了bug_compat_42(=ON),警告才会显示.
session.bug_compat_42,0
session.bug_compat_warn = 1
;session在重新整理时检查session是否还存在(预设:空)
session.referer_check =
;特别设定session值的长度(预设:关)
session.entropy_length = 0
;特别设定session值的文件
session.entropy_file =
;使用cache限制器(预设:不要cache)
session.cache_limiter = nocache
;使用cache的生存期
session.cache_expire = 180
;使用sid值(session_id)传送模式(基于安全,预设:关)
session.use_trans_sid = 0
;选择一个HASH函数,0为MD5(128比特强度),1为SHA-1(160比特强度)
session.hash_function = 0
;定义当转换2进制hash数据为一些可读的数据时,每个字符存储多少个比特.
;4 比特: 0-9, a-f
;5 比特: 0-9, a-v
;6 比特: 0-9, a-z, A-Z, "-", ","
session.hash_bits_per_character = 5
;URL重指向的标签
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
对以上设置进行修改以后应该重启Apache服务器,以加载以上的修改。
在使用session时一般也就是以下几个步骤:
1.启动session,使用session_start()函数;
如果使用的状态是cookie base的session传递方式,之后程式的开头都必须使用session_start()函数,而且一定要放在页面开头,之前不能有任何结果输出(比如:echo输出或者html)
如果在php.ini的设置中session.use_trans_sid = 1,点击页面上的连接可以正常传值到第二页,网址会自动加上(举例)[?PHPSESSID=8234c3f661bd1eac450c23d5650e0881]
如果在php.ini的设置中session.use_trans_sid = 0,需要使用URL的方式传递session id,[SID]是php在启动session后自动产生的变量,可以在URL中使用,如:
PHP5 session相关推荐
- PHP5 session 详解【经典】
http://blog.163.com/lgh_2002/blog/static/4401752620105246517509/ http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无 ...
- apache2 配置php,Windows配置PHP5与Apache2
windows下安装和配置PHP5与Apache2真是比linux下难多了,唉.这里用的是PHP Version 5.2.1和Apache HTTP Server 2.2.4,都是从官方网站下的.1. ...
- php设置session 生命周期,php会话(session)生命周期概念介绍及设置更改和回收
http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状 ...
- Win2003 + IIS6.0 + PHP5 / ASP + MySQL5 服务器配置及虚拟主机基本安全设置
关键词:Windows 2003, IIS 6.0, PHP, ASP, MySQL, 服务器配置, 虚拟主机安全设置, 跨站攻击 IIS + PHP + MySQL 我是在05年配置过一次,之后再也 ...
- 使用 PHP 7 给 Web 应用加速
PHP 20周年了!?? PHP 首发通告,1995年6月8日 发布于 COMP.INFOSYSTEMS.WWW.AUTHORING.CGI 主题:正式宣布:个人主页工具(Personal Home ...
- apache+php+mysq环境详细l配置
第一步:下载安装文件 1. MySQL:进入http://www.mysql.com/downloads/mysql/下载地址mysql-5.5.22.zip或mysql-5.5.22-win32.m ...
- hhvm mysql_Ubuntu 14.10 安装 Nginx + MySQL + HHVM + phpMyAdmin [LNMH]
注:如果使用非root权限,请在命令前面加上 sudo; # 更新并升级 apt-get update && apt-get upgrade # 安装 Nginx apt-get in ...
- 文件存储管理软件 php,Drawer文件管理系统
Drawer是一款基于JQuery+AJAX+PHP三者相结合的PHP文件管理器,适合服务器文件管理及其它各种用途,可帮助站长便捷地管理服务器,简洁.快速.高效率. 无任务时不会自动后台运行,无需数据 ...
- windows 下配置 apache 2.2.3+php 5.1.3+mysql 5.0.24+zend 3.0.1最新配置
windows 下配置 apache 2.2.3+php 5.1.3+mysql 5.0.24+zend 3.0.1最新配置 1,php5.1.6 for windows http:// ...
最新文章
- matlab 12脉波变压器,12脉波中频炉专用变压器外形尺寸
- Roger Ver:BCH比BCE更适合机构投资者
- gym101808 E
- Centos7上卸载openJdk安装,安装自己的JDK1.8
- 【转】shell十三问,为linux学习打基础(上)
- Myeclipse学习总结(4)——Eclipse常用开发插件
- 现代程序设计 作业1
- 高德地图模仿微信发送位置实现拾取坐标
- Qt配置OpenCV教程,无需复杂的编译过程,(详细版)
- Talib技术因子详解(一)
- 深入C++库分析sync_with_stdio实现
- Android系统各个版本系统特性整理(1.1-6.0)
- python xlsx表格最大行最大列
- TI DSP 28335 ePWM实现单路带死区PWM
- 黑客利用Apache Struts 2漏洞在服务器上传递Cerberus勒索软件
- [转]医保 北京医保存折如何取钱
- 将用户输入的金额转写成中文的大写数字 c++
- Flask Web开发--3.实时SPC控制图的开发设计
- 《物联网 - 机智云开发笔记》第1章 机智云平台快速入门
- 软考A计划-真题-分类精讲汇总-第十五章(数据库设计)