Session 的配置
可以在 config.php(可以是应用公用的 config.php 或模块的 config.php)中对 Session 进行配置,例如:
<?php
return array(
//'配置项'=>'配置值'
'SESSION_AUTO_START' =>false,//系统不自动启动Session
'SESSION_OPTIONS'=>array(
'use_trans_sid'=>1,
'expire'=>3600,//设置过期时间session.gc_maxlifetime的值为1小时
)
);
其中默认情况下,初始化之后系统会自动启动 Session,也就是 session.auto_start = 1。可以取消 Session 的自动启动,因为虽然如果开启了此选项,每次使用 Session 的时候无需调用 session_start(),但是由于不能将对象放入 Session,因为类定义必须在启动 Session 之前加载。闭自动启动后可以项目的公共文件或者在控制器中通过手动调用 session_start() 或者 session('[start]') 启动 session。

系统还提供了 Session 管理和操作的完善支持,全部操作可以通过一个内置的 session 函数完成,该函数可以完成 Session 的设置、获取、删除和管理操作。
如果 session 方法的第一个参数传入数组则表示进行 session 初始化设置,上面通过在 config.php 中进行的配置用内置的 session 函数可以达到相同的效果:
session(array('use_trans_sid'=>1,'expire'=>3600));
复制
注意:使用该种方式设置 Session 参数时,需要把该方法写在 session_start() 函数之前(如果 Session 没有设置为自动开启)。
Session 的使用
系统提供了Session 管理和操作的完善支持,全部操作可以通过一个内置的 session 函数完成,该函数可以完成Session的设置、获取、删除和管理操作。
session 函数位于 \ThinkPHP\Conmon\functions.php 内,源码: