跨系统 Post 赋值给Session 丢失问题
现在我有两套系统 3个页面
系统A,系统B
PHP code
为什么我跨系统post过来正确的变量值无法写入到session
系统A,系统B
PHP code
//当A1 post到 B1时带一参数message,B1接受该参数 //B1页面 <?php $message = $_POST['message']; echo $message;//参数值正常输出 ?> //当我需要把$message写入到B系统的Session里 //B1页面 <?php session_start(); $_SESSION['sessionMessage'] = $message; echo $_SESSION['sessionMessage'];//值正常输出 ?> //当B1post到B2时 //B2页面 <?php session_start(); echo $_SESSION['sessionMessage'];//空值 ?> //查找php Session储存文件夹,找到记录的Session文件,打开后发现只有sessionMessage|N;的信息 //回到B1页面修改代码 <?php session_start(); $var ='123456'; $_SESSION['sessionMessage'] = $var; echo $_SESSION['sessionMessage'];//值正常输出"123456" ?> //post到B2页面 //输出"123456" //查看Session记录文件,内容为:sessionMessage|s:6:"123456"; //再次修改B1页面 <?php session_start(); $var =$message; $_SESSION['sessionMessage'] = $var; echo $_SESSION['sessionMessage'];//值正常输出 ?> //post到B2又是空值
为什么我跨系统post过来正确的变量值无法写入到session
作者: sindevil 发布时间: 2011-06-07
你查看一下 session的有效时间;可能是时间过期了;还有就是 session的有效路径 ;
作者: yaoxin125 发布时间: 2011-06-07
你所谓的跨系统是什么意思?
只要是不在同一台机器上,且无公共的 session 服务机制。则必然丢失
如是在同一台机器上,且 session_path 被改变。则必然丢失
只要是不在同一台机器上,且无公共的 session 服务机制。则必然丢失
如是在同一台机器上,且 session_path 被改变。则必然丢失
作者: xuzuning 发布时间: 2011-06-07
跨系统是指 A系统是Asp.net的程序 B系统指php程序
asp.net部署在iis php部署在Apache
asp.net部署在iis php部署在Apache
作者: sindevil 发布时间: 2011-06-07
引用 3 楼 sindevil 的回复:
跨系统是指 A系统是Asp.net的程序 B系统指php程序
asp.net部署在iis php部署在Apache
跨系统是指 A系统是Asp.net的程序 B系统指php程序
asp.net部署在iis php部署在Apache
且部署在不同的物理机子上
作者: sindevil 发布时间: 2011-06-07
已经接受到的变量无法当做普通字符串来处理写入B系统的Session吗
作者: sindevil 发布时间: 2011-06-07