“ThinkPHP”的版本间的差异

来自tomtalk
跳转至: 导航搜索
把session写入数据库
Tom讨论 | 贡献
ThinkPHP读取Laravel的Session数据
第41行: 第41行:
 
;ThinkPHP
 
;ThinkPHP
  
 +
<source lang='php'>
 +
//仅系列化,一道手续存储。
 
session.serialize_handle=php
 
session.serialize_handle=php
  
仅系列化,一道手续存储。
+
//使用ini_set()改变系列化方式不成功,改为修改php.ini文件。
 
+
使用ini_set()改变系列化方式不成功,改为修改php.ini文件。
+
 
+
 
ini_set("session.serialize_handle", "php_serialize");
 
ini_set("session.serialize_handle", "php_serialize");
 +
</source>
  
 
;Laravel
 
;Laravel
  
 +
<source lang='php'>
 +
//先系列化,然后再base64编码存储。
 
session.serialize_handle=php_serialize
 
session.serialize_handle=php_serialize
 
 
base64_encode($data)
 
base64_encode($data)
 
+
</source>
先系列化,然后再base64编码存储。
+

2016年9月22日 (四) 09:25的版本

相关链接

http://doc.thinkphp.cn/ ThinkPHP文档中心

安装

获取项目代码,把定文件夹根目录为站点根目录就可以了,不要设置任何东西,就能显示欢迎页。

路由

http://thinkphp.example.com/?a=db_test

试了一下URL_MODEL的几个取值,貌似无效,先使用上面的格式来访问控制器。

把session写入数据库

1、改配置文件

'SESSION_OPTIONS' => array(
    'type'   => 'Mysqli',//session采用数据库保存
    'expire' => 1440,//session过期时间,如果不设就是php.ini中设置的默认值
),
'SESSION_TABLE'   => 'wp_session', //必须设置成这样,如果不加前缀就找不到数据表,这个需要注意

仅配置这个就可以了。type最初设置为db,页面报错用不了,用Mysqli就可以了。


2、建数据表

CREATE TABLE `wp_session` (
  `session_id` VARCHAR(255) NOT NULL,
  `session_expire` INT(11) NOT NULL,
  `session_data` BLOB,
  UNIQUE KEY `session_id` (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

ThinkPHP读取Laravel的Session数据

ThinkPHP
//仅系列化,一道手续存储。
session.serialize_handle=php
 
//使用ini_set()改变系列化方式不成功,改为修改php.ini文件。
ini_set("session.serialize_handle", "php_serialize");
Laravel
//先系列化,然后再base64编码存储。
session.serialize_handle=php_serialize
base64_encode($data)