PHP アプリケーションを持っていますが、SESSION から User オブジェクトを取得できません。
オブジェクトを保存すると、次のコード(他のファイル)があります。
$_SESSION['user'] = serialize($user);
この問題は、timeline.php というファイルを読み込もうとしたときに始まります。ページを初めてロードしたとき (ログインして SESSION['user] を設定した後)、ページは正常に動作します。ページを更新すると、エラー 500 が表示されます。
エラー ログには次のように表示されます。
10 行目で、timeline.php の非オブジェクトに対してメンバー関数 get() を呼び出します。
2 行目から 10 行目のコードは次のとおりです。
include_once('isUserLoggedIn.php');
require_once('classes/User.php');
session_start();
$user = unserialize($_SESSION['user']);
require_once('classes/Database.php');
$tweets = Database::getTimeline($user->get('user_id'));
誰かがこれの理由を提供できますか?
更新 (1)
timeline.php の 8 行目に var_dump($user) を追加しました。最初にページをロードすると、正しい値が返されます。
ページを 2 回目に読み込むと、bool(false) が表示されます。
更新 (2)
問題はホストにあるようです (おそらく php.ini ファイルの設定)。私が使っていた会社は Fatcow です。他の誰かのホスト (1and1) を使用した場合、問題は発生しませんでした。