自從最近兩天以來,我一直在處理這個問題,但仍無法解決。會話不在不同目錄的頁面之間工作
我有兩個腳本一在根目錄的會話註冊,並保持持久性時,我再次訪問該頁面,但是當我要從子目錄腳本訪問頁面建議沒有會話註冊。
下面詳細的解釋:
問題是,當我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奇怪的權利?
這是不用說,它工作正常我的本地服務器,但沒有託管服務器 所以請指導我在這個問題。