用户无法通过Parse \ ParseUser识别,但存在于$ _SESSION中

时间:2014-09-22 14:07:48

标签: php parse-platform

我目前正在使用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)输出包含相关用户对象的转储。

我理解它可能是我错过的愚蠢行为,但任何指向正确方向的人都会非常感激。

1 个答案:

答案 0 :(得分:0)

供参考 - 我使用的是专用的Windows服务器,它以某种非标准的方式配置。我们自从Windows服务器迁移以来,因为Windows - 以及一系列无关的问题意味着使用CentOS更容易。

通过明确调用parse的会话存储设置器来解决此问题 - ParseClient::setStorage( new ParseSessionStorage() );

这是出乎意料的,因为$_SESSION全局确实包含相关信息 - 但解析在设置会话存储之前不会选择此信息。