3

私は自分のウェブサイトへのログイン時にユーザーIDをセッションに設定しています。設定後すぐにセッション変数をエコーすると、それが表示されます。インデックス user_id が定義されていないというエラー メッセージが表示されます。このコードは localhost で機能していますが、サーバーでも機能していました。

$_SESSION['user_id'] = $user_id;
header('location:home.php');

home.php 内

include('session.php');

session.php で

session_save_path('include/session_store');
session_start();
if(!(isset($_SESSION['user_id'])))
{
header('location:signin.php');
}

仲間のstackoverflowユーザーからのアドバイスで、これを試しました.test.phpファイルを作成しました。

session_save_path('include/session_store');
session_start();
$_SESSION['yahoo'] = 'yahoo';
header('location:test2.php');

test2.php で

session_save_path('include/session_store');
session_start();
echo $_SESSION['yahoo'];

localhost では yahoo が印刷されますが、サーバーでは空白の画面が表示されます。session_store フォルダーには 0kb のファイルもいくつか含まれています。

4

3 に答える 3

0

session_save_path('include/session_store'); session_start();あなたがsignin.phpで行うことを確認し、書き込み可能であることも確認してinclude/session_storeください

あなたはそれがlocalhostで動作していると言いましたが、間違いなく問題はinclude/session_storeが書き込み可能でないことです。

于 2013-04-04T04:55:35.050 に答える
0

問題は、セッションが保存されているパスにある可能性があります。Web ホスティング ファイル マネージャーで、セッション パスを /tmp/ に設定します。

tmp というフォルダーがない場合は作成します

于 2021-11-23T13:44:47.307 に答える