ThinkPHP 在 PHP70下的session管理

2015-07-03 00:58:00
hainuo
原创 2683
我习惯了将session保存进入数据库中,一方面解决了 浏览器端因服务器端文件打开导致等待的进程堵塞的问题 另一方面也确实方便数据管理,比如在线时常控制和在线人数控制 但是在讲PHP版本升级到70后出现这样的bug ``` session_start(): Failed to initialize storage module: user (path: ) 错误位置 FILE: /Users/hainuo/www/tew/ThinkPHP/Common/functions.php  LINE: 1168 ``` 这是怎么回事 一看就知道这东西是session的问题,起初大家都会以为是路径的问题,但实际不是 最终还是需要排插 在排除路径原因后,就是 ``` 'SESSION_TYPE'=>'Db', ``` 的问题了,讲session交由数据库保管,所有的session操作都是有PHP的回调函数来攻关的。那么肯定出在数据库上 通过 ``` php  -m ``` 可以看到`php70`不支持`mysql` 而支持`mysqli`和`pdo_mysqli` 这里我们将处理方法的数据库连接全部改为`mysqli` 并按照`mysqli`的语法就修改 `Session/Driver/Db.class.php`文件内容即可 当然由于数据库连接需要`mysqli`方式我们的主程序的配置文件中的 ``` 'DB_TYPE' => 'mysql', // 数据库类型 ``` 也要响应的更改`mysqli`
发表评论
伍 乘 壹 =
评论通过审核后显示。