php页面如果开启session,那么默认情况下,任何一个游客,都会开启一个session,php创建session文件,如果网站访问量大,那么会造成性能问题,特别session用file作为存储方法并没有分目录,会造成/tmp目录下文件数过多导致的系统崩溃(本人曾经遇到过这种情况)
以下是几条提高session性能方法
- session文件分目录,在php.ini里有相关选项
- 用数据库或共享内存存储session数据
- 这里要重点介绍的,我起名为 cookie探测法
cookie探测法基本原理是,根据客户端发来cookie的值决定是否开启session,这样就避免了任何一条请求就激活session机制。
具体步骤如下:
游客访问 -> 判断$_COOKIE['member']->如果真就 session_start()
(其中$_COOKIE['member']是在登录时设置的浏览器进程cookie)
部分代码
if(isset($_COOKIE['member'])) session_start();
...