我有一个 PHP 应用程序,但无法从 SESSION 获取用户对象。
保存对象时,我有以下代码(其他文件)。
$_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 中,我将var_dump($user) 添加到第8 行。第一次加载页面时,它给了我正确的值。
我第二次加载页面时它给了我 bool(false)。
更新 (2)
问题似乎出在主机上(可能是那里的 php.ini 文件中的设置)。我使用的公司是 Fatcow。当我使用别人的主机(1and1)时,问题没有发生。