php session 不稳定怎么办

发布时间:2025-10-25 点击:13
php session不稳定的解决办法:首先在配置文件中设置sessionstate节点;然后把类设为可序列化的类;最后启动“asp.net state service”即可。
推荐:《php视频教程》
解决session不稳定的问题
公司的系统一直以来都会出现session突然丢失的情况,昨天想了一个法子,但行不通,今天上午通过搜索资料解决了它。
昨天我是想通过新建一个数据表来存储用户登录的信息,但是,要标记一个用户的时候,想用ip来标记,觉得不太现实,因为有时候对外网的ip地址是一样的,于是想用mac地址来解决,对过sendarp的方法可以得到指定ip的mac,但是这也仅仅适用于局域网,非局域网是无法实现的,于是这种思路到此宣告破产。除非在客户端通过js去获取再发送到服务端,但考虑到不用客户端cookiess的话每次都要查很麻烦,于是放弃。
今天在网上发现,可以在配置文件中设置sessionstate节点:
<sessionstate mode="off|inproc|stateserver|sqlserver" cookieless="true|false" timeout="number of minutes" stateconnectionstring="tcpip=server:port" sqlconnectionstring="sql connection string" statenetworktimeout="number of seconds"/> 必须有的属性是
属性 选项 描述 mode 设置将session信息存储到哪里 off 设置为不使用session功能 inproc 设置为将session存储在进程内,就是asp中的存储方式,这是默认值。 stateserver 设置为将session存储在独立的状态服务中。 sqlserver 设置将session存储在sql server中。可选的属性是:
属性 选项 描述 cookieless 设置客户端的session信息存储到哪里 ture 使用cookieless模式 false 使用cookie模式,这是默认值。 timeout 设置经过多少分钟后服务器自动放弃session信息。默认为20分钟 stateconnectionstring 设置将session信息存储在状态服务中时使用的服务器名称和端口号,例如:"tcpip=127.0.0.1:42424”。当mode的值是stateserver是,这个属性是必需的。 sqlconnectionstring 设置与sql server连接时的连接字符串。例如"data source=localhost;integrated security=sspi;initial catalog=northwind"。当mode的值是sqlserver时,这个属性是必需的。 statenetworktimeout 设置当使用stateserver模式存储session状态时,经过多少秒空闲后,断开web服务器与存储状态信息的服务器的tcp/ip连接的。默认值是10秒钟。 然后,启动asp.net state service。
注意要把类设为可序列化的类!才可以加到session中。
system.web.sessionstate.httpsessionstate session = httpcontext.current.session; session.add("user", obj); httpcontext.current.session.add("user", obj); if (obj.user_dist_id == "0000") { httpcontext.current.session.add("sdistid", obj.user_dist_id); } system.web.security.formsauthentication.setauthcookie(obj.user_id , false); 。。。

云加速问题-云服务器问题
阿里云服务器证书打折
租用阿里云虚拟服务器
云服务器没有域名可以备案吗
云服务器可以安装oracle数据库吗
外贸企业收到“高仿邮箱”,会计未确认 损失16万美金
今天下午开始你们大量的虚拟空间故障
电脑如何激活excel2007办公软件|电脑激活excel2007办公软件的方法