自从最近两天以来,我一直在处理这个问题,但仍无法解决。会话不在不同目录的页面之间工作
我有两个脚本一在根目录的会话注册,并保持持久性时,我再次访问该页面,但是当我要从子目录脚本访问页面建议没有会话注册。
下面详细的解释:
问题是,当我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'];
}
?>
但
当我start_session()从子目录Ajax脚本 那是: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它说会话路径'',这是默认为空,因为我没有改变默认的客栈php.ini,但在脚本/Ajax/test.php它说会话保存路径是/ tmp奇怪的权利?
这是不用说,它工作正常我的本地服务器,但没有托管服务器 所以请指导我在这个问题。