php开源嘛
首页 | English | MySql数据库 | Php编程 | 建站杂烩 | 系统服务器 | 资源共享 | 专题 | 才桀网 | 支持论坛
  当前位置:主页>Php编程>文章内容
增加PHP的Session存储和处理能力...
来源:conanpaul 作者:本站整理 发布时间:2008-01-30  

增加PHP的Session存储和处理能力...php开源

        可能很多PHPer都用到了PHP提供的Session功能,可以方便的进行会话功能处理,PHP服务端默认的session存储是文件存放方式,在Windows上PHP默认的Session服务端文件存放在C:\WINDOWS\Temp下,*NIX下默认存放在/tmp下,如果说并发访问很大或者session建立太多,在这两个目录下就会存在大量类似sess_xxxxxx的session文件,同一个目录下文件数过多会导致性能下降,并且可能导致受到攻击最终出现文件系统错误。针对这样的情况,PHP本身体提供了比较好的解决办法。
  不少朋友可能都没有注意到php.ini里面Session设置部分中有这样一项:php开源

; session.save_path = "N; MODE; /path"php开源

  这项设置提供给我们可以给session存放目录进行多级散列,其中“N”表示要设置的目录级数,“MODE”表示目录的权限属性,默认为600,在WINDOWS上基本是不用设置的,*NIX上也可以不用设置,后面的“/path”表示session文件存放的根目录路径,比如我们设置为下面的格式php开源

session.save_path = "2; /tmp/phpsession"
  上面的设置表示我们把/tmp/phpsession目录作为php的session文件存放根目录,在该目录下进行两级目录散列,每一级目录分别是0-9和a-z共36个字母数字为目录名,这样存放session的目录可以达到36*36个,相信作为单台服务器来说,这是完全够用了,如果说您的系统架构设计为多台服务器共享session数据,可以把目录级增加到3级或者更多。
  需要注意的是,php自己并不会自动创建子目录,需要您自己动手去创建,网上找到这样的自动创建目录的代码,大家可以做个参考。下面的代码自动创建3级子目录,可以自己动手根据需要进行修改。

php开源

set_time_limit(0);
$string = '0123456789abcdefghijklmnopqrstuvwxyz';
$length = strlen($string);
function makeDir($param)
{php开源
if(!file_exists($param)) {
makeDir(dirname($param));
mkdir($param);
}
}
for($i = 0; $i < $length; $i++) {
for($j = 0; $j < $length; $j++) {
for($k = 0; $k < $length; $k++) {
makeDir($string[$i].'/'.$string[$j].'/'.$string[$k]);
}
}
}
?>


  大家可能注意到前面的文字中提到了有关多服务器共享php的SESSION,这是很多应用都会遇到的问题,网上也有不少相关的资源,大家可以去google一下,Michael这里只提一下大概的思路。
  一般来说我们用到最多的方法有两种:
  1、NFS或者Samba共享的方法,让各个服务器上存放session文件的磁盘共享,这种方法简单可行。
  2、集中存储到数据库中,这是比较多的实现方法,通过php提供的session_set_save_handler()函数来重定义session函数,推荐使用这种方法。

  欢迎大家一起交流和讨论php中和session相关的技巧和经验。php开源


(阅读次数:
上一篇:PHP5的DirectoryIterators递归扫描目录   下一篇:Web2.0时代PHP将受更多人的青睐(php评价)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·PHP生成验证码图片的源代码
·PHP会话对(Session)使用入门
·Php部分常见问题总结[bug]
·php正则表达式的快速学习方法
·高手传经:学习PHP重在坚持
·用php生成静态页面的php函数
·PHP对文本数据库的基本操作方法
·用 PHP 读取文件的正确方法
·讲解PHP+MySQL的分页显示示例
·用PHP构建一个简易监视引擎
·我是怎样打造简单的PHP&MYSQL留
·用PHP实现表单验证码登陆校验
  相关文章
·PHP5的DirectoryIterators递归扫
·Web2.0时代PHP将受更多人的青睐
·PHP编程:使用PHP生成1000个随机
·实例学习动态网页PHP的语法{初学
·PHP中的面向对象和面向过程OOP…
·黑客隐藏PHP文件后门的技巧...
·怎样用php操作php文件的……
·PHP面向对象OOP编程快速入门...
·PHP传值和传引用、传地址的区别
·PHP中使用Sockets 从Usenet中获
·开发大型php项目的方法、oop面向
·面向对象OOP的5原则:单一职责原

关于我们 | 本站声明 | 友情连接 | 诚邀加盟 | 网站地图
版权Power by DedeCms   技术支持QQ =>> 罗江游鱼   Jacking  后台登陆
Copyright @ 2007 公司地址:柳州市东环路268号 邮编:545006 电话:15920389818 桂ICP备07006725号