PHP中session_start 函数详解使用方法
一、官方 session_status() 返回值为:
PHP_SESSION_DISABLED会话是被禁用的。PHP_SESSION_NONE会话是启用的,但不存在当前会话。PHP_SESSION_ACTIVE会话是启用的,而且存在当前会话。
二、尝试打印var_dump(session_status()); 值总为int 1
与官方描述不一样,google it,当打印时,会显示如此:
0 ----> PHP_SESSION_DISABLED if sessions are disabled.1 ----> PHP_SESSION_NONE if sessions are enabled, but none exists.2 ----> PHP_SESSION_ACTIVE if sessions are enabled, and one exists.
三、思考何时返回 0 或 2 。
1、尝试加上session_start(),打印出了2。
session_start();
var_dump(session_status()); // int 2
说明:PHP_SESSION_ACTIVE 是指使用了session_start() 启动新会话或者重用现有会话.
2、尝试在session_start() 后使用 session_destroy(),期望得到0。
session_start();
session_destroy();
var_dump(session_status()); // int 1
说明:结果输入1,证明,现在session状态为 “PHP_SESSION_NONE 会话是启用的,但不存在当前会话”。
3、于是思考,当session不能用时状态才为 “PHP_SESSION_DISABLED 会话是被禁用的”,即返回0。
于是修改php.ini session.save_handler = 'cached',重启php,此时,有个warning,同时,返回0;
说明:只有当session 无法使用时,session_status 才返回 0.
————————————————————————————————————————————————————————
总结,要判断是否需要使session_start()函数,可以这样:
if(session_status !== PHP_SESSION_ACTIVE){
session_start();
}
或
if(session_status !== 2){
session_start();
}
PHP中session_start 函数详解使用方法的更多相关文章
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- 【转】linux 中fork()函数详解
在看多线程的时候看到了这个函数,于是学习了下,下面文章写的通俗易懂,于是就开心的看完了,最后还是很愉快的算出了他最后一个问题. linux 中fork()函数详解 一.fork入门知识 一个进程,包括 ...
- Linux中fork()函数详解(转载)
linux中fork()函数详解 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事, ...
- C++中重载函数详解
函数的重载详解 什么时函数重载: 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数.重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避 ...
- python unittest框架中addCleanup函数详解
接上一篇doCleanups说明,这次介绍下另一个很好用的函数:addCleanup 还是老规矩,看官方文档说明: addCleanup(function, *args, **kwargs)¶ Add ...
- JavaScript基础内容中的函数详解
函数 函数:即方法 函数就是一段预先设置的功能代码块,可以反复调用,根据输入参数的不同,返回不同的值. 为什么使用函数: 1.方便调用 2.代码重用,利于维护 3.便于修改,便于重构 4.简化逻辑,利 ...
- php中magic_quotes_gpc函数详解
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post.get.cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊 ...
- python中groupby函数详解(非常容易懂)
一.groupby 能做什么? python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算! 对于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下: df[ ...
- Linux C 中 fork() 函数详解
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork() 函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同 ...
随机推荐
- 廖雪峰网站:学习python基础知识—循环(四)
一.循环 1.for names = ['Michal', 'Bob', 'tracy'] for name in names: print(name) sum = 0 for x in [1, 2, ...
- 5月21 回话控制SESSION COOKIE
百科 HTTP普及(无状态性) 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP ...
- MYSQL的C API之mysql_query
1.首先使用MYSQL conn 连接数据库 2.设置数据库编码 3.int res = mysql_query(&conn,"SQL语句"); if(!res)表示成功 ...
- vue 父组件通过props向子组件传递数据/方法的方式
参考网址:https://segmentfault.com/a/1190000010507616 下面栗子中, callback是传递父组件的方法, mutationName是传递父组件的数据, Ap ...
- [转]find+xargs+sed批量替换
写代码时经常遇到要把 .c 和 .h的文件中的某些内容全部替换的情况,用sourceinsight 进行全局的查找是一个方法,但是sourceinsight只能替换一个文件中的字符串,不能同时替换多 ...
- 查看mysql版本
方法一:show variables like 'version'; 方法二:select version();
- python logs
# -*- coding: utf-8 -*-import loggingimport sysimport osimport xlrdfrom UtilAzxu import Properties# ...
- CAD绘制栏杆5.10
REC绘制一个矩形,(40,40)回车.通过它的中点移动到扶手的中点用移动工具把它往右边稍微移动.在三维图中EXT命令拉伸它,拉到扶手底面.如图选择三维扶手,右击,加栏杆,选择我们绘制的栏杆,单元宽度 ...
- RBAC功能模块
- configparse 模块
config parser 用于解析配置文件的模拟 何为配置文件 包含配置程序信息的文件就是称为配置文件 什么样的数据应作为配置文件 需要该 但是不经常改的信息 例如数据文件的路径 db_pa ...