我目前正在使用Parse.com编写一个用PHP构建的网站来存储网站的数据。我之前在几个项目中使用过解析,其中一些功能非常适合。我现在遇到了无法正确检测到登录用户的问题。
<?php
use Parse\ParseClient;
use Parse\ParseObject;
use Parse\ParseQuery;
use Parse\ParseGeoPoint;
use Parse\ParseUser;
ParseClient::initialize('Omitted', 'Omitted', 'Omitted');
(... truncated)
function get_user(){
//BROKEN.
//TODO: Fix
$currentUser = ParseUser::getCurrentUser();
if ($currentUser) {
return $currentUser->getObjectId();
} else {
return false;
}
}
(... truncated)
?>
这个代码只是稍微修改了parse给出的PHP示例中的代码,但无论状态如何&#34;登录&#34;
似乎都返回false调用会话启动以确保会话正在运行,并且调用print_r($_SESSION)
输出包含相关用户对象的转储。
我理解它可能是我错过的愚蠢行为,但任何指向正确方向的人都会非常感激。
答案 0 :(得分:0)
供参考 - 我使用的是专用的Windows服务器,它以某种非标准的方式配置。我们自从Windows服务器迁移以来,因为Windows - 以及一系列无关的问题意味着使用CentOS更容易。
通过明确调用parse的会话存储设置器来解决此问题 - ParseClient::setStorage( new ParseSessionStorage() );
这是出乎意料的,因为$_SESSION
全局确实包含相关信息 - 但解析在设置会话存储之前不会选择此信息。