试了很多次,也在网上看了很多,也在THINKPHP手册中找了很多。都没有正正解决,测试了很长时间终于基本搞定。
不知道还有什么隐患或者不合理的地方,写出来希望大家指教和给我建议。
我用的是 THINKPHP 3.1.2版
index.php 中 设置为
2 | define( 'APP_DEBUG' , true); |
3 | require '../ThinkPHP/ThinkPHP.php' ; |
4 | ini_set ("session.save_handler", "user"); |
config.php设置为
04 | 'SHOW_PAGE_TRACE' =>true, |
05 | 'DB_TYPE' => 'mysql' , |
06 | 'DB_HOST' => 'localhost' , |
07 | 'DB_NAME' => 'thinkphp' , |
08 | 'DB_USER' => '你的用户名' , |
09 | 'DB_PWD' => '你的密码' , |
11 | 'DB_PREFIX' => 'think_' , |
12 | 'SESSION_OPTIONS' => array ( |
16 | 'SESSION_TABLE' => 'think_session' , |
22 | 数据库设置采用SessionDb. class .php中的DDL,不过后面加了ENGINE=MyISAM DEFAULT CHARSET=utf8 |
26 | CREATE TABLE think_session ( |
27 | session_id varchar(255) NOT NULL, |
28 | session_expire int(11) NOT NULL, |
30 | UNIQUE KEY `session_id` (`session_id`) |
31 | )ENGINE=MyISAM DEFAULT CHARSET=utf8; |
现在访问你的 index.php 后再在 phpmyadmin 中找到 think_session 表,我惊喜的发现多了条数据。
搞定。其他不要设置了,SessionDb.class.php会自动加载.
这样ThinkPhp的调用session(‘session_name’,'session_value’), 系统就会自动把这个session存储上面创建的数据库中。