【发布时间】:2013-04-06 05:03:39
【问题描述】:
从前两天开始我一直在研究这个问题,但仍然无法解决。
我在根目录中有两个脚本,其中一个会话注册并在我再次访问该页面时保持持久,但是当我要从子目录脚本访问该页面时,建议没有注册会话。
详细解释如下:
问题是当我从根目录脚本 start_session() 那就是:http://www.kstreethome.com/test.php 它工作正常
/test.php 的代码
<?php
error_reporting(E_ALL);
echo "This is session save path : " . session_save_path() . "</br>";
//echo phpinfo();
if(!isset($_SESSION['User']))
{
echo "Session not set </br>";
session_start();
$_SESSION['User'] = "Hiren";
$_SESSION['AccessType'] = "U";
$_SESSION['UserType'] = "W";
$_SESSION['UserID'] = "123";
$_SESSION['DataUser'] = "Test";
$_SESSION['Password'] = "Test";
echo session_id();
echo $_SESSION['User'];
echo $_SESSION['AccessType'];
echo $_SESSION['UserType'];
echo $_SESSION['UserID'];
echo $_SESSION['DataUser'];
echo $_SESSION['Password'];
}
else
{
echo "Session set </br>";
echo $_SESSION['User'];
echo $_SESSION['AccessType'];
echo $_SESSION['UserType'];
echo $_SESSION['UserID'];
echo $_SESSION['DataUser'];
echo $_SESSION['Password'];
}
?>
但是
当我从子目录 Ajax 脚本中 start_session() 那就是:http://www.kstreethome.com/Ajax/test.php 它不起作用但是在这个脚本中它正在存储会话并且可以在同一次运行中访问但是当我重新加载 /Ajax/test.php 时会话刚刚被破坏,我必须重新开始。
/Ajax/test.php 的代码
<?php
error_reporting(E_ALL);
echo "This is session save path : " . session_save_path() . "</br>";
//echo phpinfo();
if(!isset($_SESSION['User']))
{
echo "Session not set </br>";
session_start();
$_SESSION['User'] = "Hiren";
$_SESSION['AccessType'] = "U";
$_SESSION['UserType'] = "W";
$_SESSION['UserID'] = "123";
$_SESSION['DataUser'] = "Test";
$_SESSION['Password'] = "Test";
echo session_id();
echo $_SESSION['User'];
echo $_SESSION['AccessType'];
echo $_SESSION['UserType'];
echo $_SESSION['UserID'];
echo $_SESSION['DataUser'];
echo $_SESSION['Password'];
}
else
{
echo "Session set </br>";
echo $_SESSION['User'];
echo $_SESSION['AccessType'];
echo $_SESSION['UserType'];
echo $_SESSION['UserID'];
echo $_SESSION['DataUser'];
echo $_SESSION['Password'];
}
?>
两个文件中的代码相同,用于测试目的
另一个奇怪的事情是,在根脚本 /test.php 中它说会话路径''默认为空,因为我没有更改默认值 inn php.ini,但在脚本 /Ajax/test.php 中它说会话保存路径 /tmp 很奇怪吧?
不用说它在我的本地服务器上运行良好,但在托管服务器上却不行 所以请在这个问题上指导我。
【问题讨论】: