session_set_save_handler — 设置用户自定义会话存储函数
session_save_path — 读取/设置当前会话的保存路径
session_id — 获取/设置当前会话 ID
session_create_id — Create new session id
session_regenerate_id — 使用新生成的会话 ID 更新现有会话 ID
session_status — 返回当前会话状态
session_start — 启动新会话或者重用现有会话
session_name — 读取/设置会话名称
session_register_shutdown — 关闭会话
session_unregister — Unregister a global variable from the current session
session_unset — 释放所有的会话变量
session_reset — Re-initialize session array with original values
session_destroy — 销毁一个会话中的全部数据
session_set_cookie_params — 设置会话 cookie 参数
session_get_cookie_params — 获取会话 cookie 参数
其他
session_decode — 解码会话数据
session_encode — 将当前会话数据编码为一个字符串
session_cache_expire — 返回当前缓存的到期时间
session_cache_limiter — 读取/设置缓存限制器
session_write_close — Write session data and end session
session_commit — session_write_close 的别名
session_module_name — 获取/设置会话模块名称
session_register — Register one or more global variables with the current session
session_abort — Discard session array changes and finish session
session_gc — Perform session data garbage collection
每个域名最多设置约50个cookie,每个cookie不超过4KB,不同浏览器会有区别。
浏览器发回cookie时,只发送值,不发送到期时间、域等信息
存数组:
setcookie(‘a[u]‘, ‘123‘);
setcookie(‘a[v]‘, ‘456‘);
echo $_COOKIE[‘a‘][‘u‘];
echo $_COOKIE[‘a‘][‘v‘];
删除
setcookie(‘a‘); //关闭浏览器时删除
setcookie(‘a‘, ‘‘, time()-3600); //减的时间太短,客户机时间
和服务器不一致,可能无效
session_start() 创建或重用一个会话,创建会话时会生成session_id,
存入cookie,所以调用之前不能有任何输出。
执行后会初始化$_SESSION数组及其他相关变量
session_start()之后才能使用$_SESSION
$_SESSION[‘a‘] = 1
删除session:
unset( $_SESSION[‘a‘] ) 删除$_SESSION的一个元素
和session文件里的一条内容
$_SESSION = [] 清空$_SESSION数组和session文件的内容
//删除cookie里的session id,第4个参数要和php.ini里一致
if( isset($_COOKIE[session_name()]) ){
setcookie(session_name(), ‘‘, time()-3600, ‘/‘);
}
session_destroy() 删除session文件,
不会影响$_SESSION数组和cookie里的session id
//模拟向cookie中发送session id的过程:
setCookie( session_name(), session_id(), 0, ‘/‘ );
session_name()默认为‘PHPSESSID‘,由php.ini中session.name指定,
传递参数可改变当前session的名称
session_id() 传递参数可改变当前session id
第三个参数0,由php.ini中session.cookie_lifetime指定,有效期至浏览器关闭
第四个参数/,由php.ini中session.cookie_path指定
session_set_save_handler(open, close, read, write, destroy, gc)
自定义session处理,参数为6个回调函数