因为项目规模较小,所以从一开始就使用TP单模块方式开发。
其中有一个控制器负责Api访问(实际上应该做成独立模块可能比较好?)。
发现因为打开了默认启动Session,所以Api在被访问的时候是访问一次就产生一个session,造成大量无用Session空文件。
解决方案:
定位文件位置 /ThinkPHP/Library/Think/App.class.php
搜索session,你会找到这样的代码:
1 2 3 |
if(!IS_CLI){ session(C('SESSION_OPTIONS')); } |
加入判断控制器的代码,就可以针对某些控制器不开启session了,有多个控制器就多个判断
1 2 3 |
if(!IS_CLI && CONTROLLER_NAME!="Api"){ session(C('SESSION_OPTIONS')); } |
有个控制器就一个地方需要用的session怎么办?可以在session方法调用前手写 session_start();