多php服务器实现多session并发运行


Posted in PHP onOctober 09, 2006

首先介绍一下session的概念:

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

问题的提出:

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

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

//Start a PHP session to preserve variables.

if ( empty($mysessionname) ) {

 $micro = microtime();

 $micro = str_replace(" ","",$micro); // strip out the blanks

 $micro = str_replace(".","",$micro); // strip out the periods

 $mysessionname = "po_maint" . $micro;

}

session_name($mysessionname);

session_start();

程序注释:

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

PHP 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 PHP
提升PHP速度全攻略
Oct 09 #PHP
php4的彩蛋
Oct 09 #PHP
在PHP中使用灵巧的体系结构
Oct 09 #PHP
PHP脚本的10个技巧(8)
Oct 09 #PHP
用PHP实现小型站点广告管理
Oct 09 #PHP
一个域名查询的程序
Oct 09 #PHP
PHP脚本的10个技巧(7)
Oct 09 #PHP
You might like
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
超市端午节活动方案
2014/01/23 职场文书
学校食品安全实施方案
2014/06/14 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
成绩单家长意见
2015/06/03 职场文书
八年级作文之友情
2019/11/25 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
2022/04/20 Python