Yii 操作session(设置、使用、移除、销毁、过期时间等)
- 13974
- PHP
- 8
- super_dodo
- 2015/07/16
在Yii框架中使用需要使用到session的相关功能,Yii 操作session的使用方法(设置、使用、移除、销毁、过期时间等)简要如下所示:
首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start()。在Yii框架中,autoStart 属性缺省被设置为true。所以,虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session:
//设置 session变量: Yii::app()->session['var']='value'; //使用调用session echo Yii::app()->session['var']; //移除 session unset(Yii::app()->session['var']); //最后,当用户退出登录(logout),你需要消除痕迹,可使用: Yii::app()->session->clear(); //移去所有session变量,然后,调用 Yii::app()->session->destroy(); //移去存储在服务器端的数据。
Yii中设置session过期时间
如何在YII里设置SESSION过期时间,而不需要在php.ini里面设置。在protected/config/main.php里,设置:
//Yii设置session的过期时间的配置项 'components'=>array( 'session'=>array( 'timeout'=>3600, ), )
更为复杂一点的使用时如何配置你的session
配置项可设在 protected/config/main.php的components中:
'session'=>array( 'autoStart'=>false(/true), 'sessionName'=>'Site Access', 'cookieMode'=>'only', 'savePath'='/path/to/new/directory', ), 将session保持在数据库的设置: 'session' => array ( 'class' => 'system.web.CDbHttpSession', 'connectionID' => 'db', 'sessionTableName' => 'actual_table_name', ),
好,还有什么呢?对了,为了调试,有时需要知道当前用户的session ID,
该值就在 Yii::app()->session->sessionID 中。
在年轻人的颈项上,没有什么东西能比事业心这颗灿烂的宝珠更迷人的了。 —— 哈菲兹
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例