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相关推荐

  1. PHP5 session 详解【经典】

    http://blog.163.com/lgh_2002/blog/static/4401752620105246517509/ http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无 ...

  2. apache2 配置php,Windows配置PHP5与Apache2

    windows下安装和配置PHP5与Apache2真是比linux下难多了,唉.这里用的是PHP Version 5.2.1和Apache HTTP Server 2.2.4,都是从官方网站下的.1. ...

  3. php设置session 生命周期,php会话(session)生命周期概念介绍及设置更改和回收

    http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状 ...

  4. Win2003 + IIS6.0 + PHP5 / ASP + MySQL5 服务器配置及虚拟主机基本安全设置

    关键词:Windows 2003, IIS 6.0, PHP, ASP, MySQL, 服务器配置, 虚拟主机安全设置, 跨站攻击 IIS + PHP + MySQL 我是在05年配置过一次,之后再也 ...

  5. 使用 PHP 7 给 Web 应用加速

    PHP 20周年了!?? PHP 首发通告,1995年6月8日 发布于 COMP.INFOSYSTEMS.WWW.AUTHORING.CGI 主题:正式宣布:个人主页工具(Personal Home ...

  6. apache+php+mysq环境详细l配置

    第一步:下载安装文件 1. MySQL:进入http://www.mysql.com/downloads/mysql/下载地址mysql-5.5.22.zip或mysql-5.5.22-win32.m ...

  7. hhvm mysql_Ubuntu 14.10 安装 Nginx + MySQL + HHVM + phpMyAdmin [LNMH]

    注:如果使用非root权限,请在命令前面加上 sudo; # 更新并升级 apt-get update && apt-get upgrade # 安装 Nginx apt-get in ...

  8. 文件存储管理软件 php,Drawer文件管理系统

    Drawer是一款基于JQuery+AJAX+PHP三者相结合的PHP文件管理器,适合服务器文件管理及其它各种用途,可帮助站长便捷地管理服务器,简洁.快速.高效率. 无任务时不会自动后台运行,无需数据 ...

  9. 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:// ...

最新文章

  1. matlab 12脉波变压器,12脉波中频炉专用变压器外形尺寸
  2. Roger Ver:BCH比BCE更适合机构投资者
  3. gym101808 E
  4. Centos7上卸载openJdk安装,安装自己的JDK1.8
  5. 【转】shell十三问,为linux学习打基础(上)
  6. Myeclipse学习总结(4)——Eclipse常用开发插件
  7. 现代程序设计 作业1
  8. 高德地图模仿微信发送位置实现拾取坐标
  9. Qt配置OpenCV教程,无需复杂的编译过程,(详细版)
  10. Talib技术因子详解(一)
  11. 深入C++库分析sync_with_stdio实现
  12. Android系统各个版本系统特性整理(1.1-6.0)
  13. python xlsx表格最大行最大列
  14. TI DSP 28335 ePWM实现单路带死区PWM
  15. 黑客利用Apache Struts 2漏洞在服务器上传递Cerberus勒索软件
  16. [转]医保 北京医保存折如何取钱
  17. 将用户输入的金额转写成中文的大写数字 c++
  18. Flask Web开发--3.实时SPC控制图的开发设计
  19. 《物联网 - 机智云开发笔记》第1章 机智云平台快速入门
  20. 软考A计划-真题-分类精讲汇总-第十五章(数据库设计)

热门文章

  1. cad是什么?怎样可以快速打开cad文件
  2. 【WiFi IoT 套件】红黄蓝灯板的使用
  3. 温度记录仪软件测试,温度分布测试规范
  4. 项目经历怎么写_质检简历范文,【工作经历+项目经验+自我评价】怎么写
  5. 全志T7 vin core驱动
  6. 单表查询和多表连接查询哪个效率更快?
  7. python招聘信息-【Python招聘_最新热搜Python人才招聘信息】-前程无忧
  8. python sum函数用法_python3中sum函数大全
  9. oracle数据库中常用的几个非主流函数
  10. cout,cerr和clog的区别