Пользователь не распознан через Parse \ ParseUser, но существует в $ _SESSION

В настоящее время я пишу сайт, построенный на PHP, используя Parse.com для хранения данных сайта. Раньше я использовал parse в нескольких проектах, и некоторые функции подходят очень хорошо. Теперь я столкнулся с проблемой, когда вошедший в систему пользователь не может быть обнаружен должным образом.

<?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)
?>

Этот код только незначительно изменен по сравнению с примерами PHP, приведенными с помощью parse, но, похоже, возвращает false независимо от состояния «Вход в систему».

Начало сеанса вызывается, чтобы убедиться, что сеанс запущен, и вызов print_r($_SESSION) выводит дамп, который включает соответствующий объект пользователя.

Я понимаю, что это, вероятно, что-то глупое, что я пропустил, но любые указатели в правильном направлении будут высоко оценены.

0

Решение

Для справки здесь — я использовал выделенный сервер Windows, который был настроен несколько нестандартным способом. С тех пор мы мигрировали с Windows-сервера, потому что Windows, а также множество не связанных проблем означали, что вместо этого было проще использовать CentOS.

Эта проблема была решена путем явного вызова метода установки хранения сессии — ParseClient::setStorage( new ParseSessionStorage() );

Это было неожиданно, так как $_SESSION global действительно содержала соответствующую информацию — но parse не получит ее, пока не будет установлено хранилище сеанса.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]