dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>PHP>php技术资料>文章内容
多php服务器实现多session并发运行
来源:未知     作者:    
 

首先介绍一下的概念:

  所谓session是微软首先提出的,在asp中最先集成。由于的采用,大大方便了web开发员的工作。一时间asp风靡全球。现在4也加入session的支持,再度显示出open source 的强大力量。和Cookie类似,设计Session的目的也是为了在一个访问期间在不同的页面间传输数据以解决http协议无状态的问题,但Session更加简单、更加安全。Session 中文没有一个统一的译法,我习惯上译为会话。关于session的意义大家都应该清楚: 其实是在浏览某个网站时,在浏览器没有关闭的情形之下,一个web应用的开始和结束。一个session可以包括数次http的请求和应答,比如我们用freemail.263.net,从login到logout或者超时就作为一个session 的生存期。每一个被创建的Session都有一个唯一的标识串,叫 ID , 这个串被发送到客户端,同时在服务器端也生成了同样唯一的标识串入口,这个标识串或者放在文本文件中,或者放在一个中。然后程序可以在这个sessionID下注册一些Session 变量。这些变量如同一般的变量一样可以保存文本或数值信息,可以通过Session被读出或写入。 session 的唯一标识一般是在系统内部唯一的 ID,一般是一个挺长的字符串。

问题的提出:

  解了概念后,我在为我单位编写一个进销存系统中发现需要让多个用户可以同时进入一个应用程序。原来设计的静态的唯一的session ID导致数据混乱。这样,动态生成一个唯一的 ID成为当务之急。

  解决办法很简单:我用了文件名+时间戳为唯一的session ID,这样在我的程序中的每个就各就各位,不再混乱了。
下面把我的源代码公布,方便也有同样的问题的朋友多一个解决方法。

//Start a to preserve variables.
      if ( empty($myname) ) {
         $micro = microtime();
         $micro = str_replace(" ","",$micro); // strip out the blanks
         $micro = str_replace(".","",$micro); // strip out the periods
         $myname = "po_maint" . $micro;
      }
      session_name($myname);
      _start();

程序注释:

  我用mysessionname为页面间唯一的sessionname传递变量,如果你也用到这个名字必须把上述程序做个小小的改动。Mysessionname不能为session的内部变量名,因为他在session开始之前就已经存在了。Mysessionname也不能用cookie方式存放,因为多个肯定会覆盖掉原先的cookie文件。你可以用隐含表单的域来保存它。这样就不会有问题。欢迎来信讨论。让我们一起做得更好。

 

 

上一篇:PHP中对数据库操作的封装   下一篇:提升PHP速度全攻略
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·通过对PHP服务器端特性的配置加
·php与mysql三日通
·AJAX技术在PHP开发中的简单应用
·大家所使用的PHP开发环境
·PHP缓存的实现
·针对PHP新手总结的PHP基础知识
·一个简单实现多条件查询的例子
·PHP串行化变量和序列化对象
·PHP表单
·推荐阅读:php技术生成静态页面
·php实用函数
·php生成随机数
  相关文章
·PHP中对数据库操作的封装
·提升PHP速度全攻略
·用PHP制作饼图调查表
·虚拟主机中对PHP的特殊设置
·用PHP和MySQL保存和输出图片
·PHP和MySQL开发的8个技巧
·谈网页编程PHP语言的发展
·SSI使用详解(一)
·正则表达式使用详解
·SSI使用详解(二)
·如何加速你的PHP程序
·PHP中实现面向对象编程
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763