ThinkPHP 在 PHP70下的session管理

2015-07-03 00:58:00
hainuo
原创 2692
我习惯了将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`
发表评论
捌 加 肆 =
评论通过审核后显示。