php session工作原理及使用实例
时间:2016-07-29
php session技术与cookie相似,都是用来存储使用者的相关资料,但最大的不同之处在于cookie是将资料存放在客户端电脑中,而session是将数据存储在服务器系统之下。本文章向大家介绍php session工作原理及实例,需要的朋友可以参考一下。
session工作原理
session用来存储用户相关信息,当某个用户向WEB服务器发出请求时,服务器首先会检查这个客户端的请求里是否已经包含了一个Session ID。如果包含,说明之前已经为此用户创建过session,服务器则按照该Session ID把Session检索出来使用。如果客户端请求不包含Session ID,则为该用户创建一个Session,并且生成一个与此Session相关联的session id,在本次响应中被传送给客户端保存。
Session是存放于服务器之中的,为了避免对服务器系统造成过大的负荷,因此Session并不像cookie是一种半永久性的存在,Session会因为下面两种情况尔自然消失。
- 当使用者关闭浏览器,失去与服务器之间的连接之后,Session即会自然消失,而当用户下次登入网站时,再另行配置一个Session使用。
- Session制定的有效期限到期。一般而言php系统中对于Session的生存时间并无定义,也就是说,预设时间为0。但php开发人员可以通过修改php.ini配置文件中有关session.cookie.lift_time项目来设定Session的有效期限,以秒为单位指定了发送到浏览器的COOKIE的生命周期,值为0表示直到关闭浏览器,默认为0,。当系统赋予Session有效期限后,不管浏览器是否开启,Session都会自然消失。
一个简单的session实例
先看用下面一个简单的php session实例:
<?php
/* http://www.manongjc.com/article/1272.html */
session_start();
$_SESSION['username'] = "Joe";
echo "Your username is ".$_SESSION['username'].".";
?>
上面实例中,session_start()是session开始,在使用session之前,我们必须调用session_start();而且是在浏览器没有任何输出之前调用session_start()。开启session后,我们可以开始创建一个session
$_SESSION['username'] = "Joe";
该代码创建一个username的session,其值为"joe",我们刚才说过,在整个用户会话中session信息将不会丢失,因此,我们可以在WEB应用程序中的任何地方调用$_SESSION['username']。
- .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
- 全球15%工作将被自动化,中国1亿人将面临失业
- ASP.NET MVC的Model元数据提供机制的实现
- 清官难断家务事,人工智能却来介入家庭伦理大戏
- 使用Symfony的Console组件构建命令行程序
- 微软编程教育都在搞什么?从code.org到makecode,从Minecraft到Micro:bit
- 谷歌:通往完全自动驾驶之路
- 随时随地部署Kubernetes
- 使用CoreOs,Docker和Nirmata来部署微服务风格的应用程序
- 使用ACS和Kubernetes部署Red Hat JBoss Fuse
- 教你快速安装OpenShift容器平台3.6
- 面向开发者的Cloud Foundry
- 云数据库安全与农场和餐馆:知道来源的重要性
- 云数据库安全,农场和餐馆:知道你的来源的重要性
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 看完这篇并发后,又能扯皮了?
- Twitter美国航空公司情绪数据集的监督或半监督ULMFit模型
- 一文帮你理解整个 SRE 运维体系!
- 拆解式解读如何用飞桨复现胶囊神经网络(Capsule Network)
- 我用飞桨Parakeet合成小姐姐声音帮我“读”论文
- 【5分钟玩转Lighthouse】搭建WordPress博客
- vue接入腾讯地图(一)【点击事件】
- Redis文件事件&时间事件处理机制
- Redis持久化策略
- Redis二进制安全的原理
- 面试必备 Vue 知识点
- 数据传输 | mysqldiff/mysqldbcompare 实现 DTLE 自动化测试
- CPU有个禁区,内核权限也无法进入!
- 分布式 | DBLE 3.20.07.0 来啦!
- C语言三剑客之《C陷阱与缺陷》一书精华提炼