当前位置: 代码迷 >> PHP >> PHP中的session不能跨页传送?一跨页就丢失,为空的
  详细解决方案

PHP中的session不能跨页传送?一跨页就丢失,为空的

热度:147   发布时间:2013-09-09 20:31:09.0
PHP中的session不能跨页传递?一跨页就丢失,为空的!
本帖最后由 MoreQuestion 于 2011-03-20 07:57:23 编辑
如先浏览a.php文件,里边写入一个会话值。

再浏览b.php,得到a.php写入的会话值。为空!

为什么呢?在本地机器上测试非常正常。一上传服务器就完了。

PHPINFO的session信息

session.save_path D:/hosting/user/html/temp D:/hosting/user/html/temp 

这个文件夹可读可写。

当浏览a.php页时,产生一个有大小的文件,也保存了会话值。
当浏览b.php页时,产生一个大小为0的文件。拿不到?什么原因?


session
Session Support  enabled  
Registered save handlers  files user  
Registered serializer handlers  php php_binary wddx  

Directive Local Value Master Value 
session.auto_start Off Off 
session.bug_compat_42 On On 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domain no value no value 
session.cookie_httponly Off Off 
session.cookie_lifetime 0 0 
session.cookie_path / / 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 100 100 
session.gc_maxlifetime 1440 1440 
session.gc_probability 1 1 
session.hash_bits_per_character 4 4 
session.hash_function 0 0 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path D:/hosting/user/html/temp 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies Off Off 
session.use_trans_sid 1 1 



a.php
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>session set</title>
</head>

<body>
<?php
$_SESSION['session_value'] = 'value';
var_dump($_SESSION);
phpinfo();
?>
</body>
</html>

这个文件正常,可以打印出会话值。

b.php
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  相关解决方案