Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

$_SESSION в 3.1 недоступны?

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

$_SESSION в 3.1 недоступны?

Сообщение paladi »

Есть форум с внешней авторизацией, была версия 3.0.12 - замучили спамеры и пришлось обновиться. И прозрел после обновления.
Не могу получить данные $_SESSION в php/auth/provider/myauth.php
в __construct()
добавил session_start()
print_r($_SESSION) - пустой.
print_r(session_id()) - генерируется в каждый раз новый.
Хотя в корень есть файл test.php
session_start()
print_r($_SESSION) - Данные с сайта.
print_r(session_id()) - остается неизменным.

Подскажите в какую сторону разбираться чтобы получить данные сессии сайта в файлах phpBB.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение Sheer »

Код: Выделить всё

<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
print "<pre>"; print_r($user->data['session_id']);print "</pre>";
?>
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

Вы меня не поняли, мне надо получить доступ именно к $_SESSION т.к. там хранятся данные с сайта. в 3.0.12 все прекрасно работает.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение Sheer »

Так и пишите сразу, что вам нужно, чтоб понятно было, а не что я делаю.

Код: Выделить всё

print "<pre>";print_r($_REQUEST);print "</pre>"; 
phpbb\request\deactivated_super_global Object
Это понятно?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

$request->enable_super_globals();
помогло.
Спасибо!

а как получить сессии через $request-> ?
не прибегая к $request->enable_super_globals();
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16373
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение rxu »

paladi писал(а): а как получить сессии через $request-> ?
Невозможно.
А почему не использовать сессии phpBB?
Изображение
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

rxu писал(а): Невозможно.
А почему не использовать сессии phpBB?
т.к. идентификатор сессии не совпадает, и не могу идентифицировать пользователя.
Я авторизирую пользователя на стороне сайта. Сайты и форум на разных поддоменах. Сессии на сайте хранятся в mysql (session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_clean');)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16373
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение rxu »

paladi, для общего развития - с каким проектом интегрируете, где используются сессии PHP?
Изображение
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

самопис.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16373
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение rxu »

Сможете протестировать изменение в ядро phpBB, чтобы сделать доступным $_SESSION?
Изображение
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

Если скажете что и как, то да.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16373
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение rxu »

попробовал - код срабатывает

Код: Выделить всё

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');

var_dump($_SESSION);
Тогда неясно, в каком случае не работает.

Отправлено спустя 13 минут 21 секунду:
paladi, версия PHP какая?
Изображение
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

Версия 5.3

Если без $request->enable_super_globals(); то результат такой:
Welcome to page #1array(3) { ["favcolor"]=> string(5) "green" ["animal"]=> string(3) "cat" ["time"]=> int(1434385991) }


Если с $request->enable_super_globals(); то получаю еще данные с сайта, как мне и надо.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16373
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: $_SESSION в 3.1 недоступны?

Сообщение rxu »

Сложно что-то делать вслепую, попробуйте следующие правки ядра.

Код: Выделить всё

OPEN
\phpbb\request\request_interface.php

FIND
const FILES = 5;

AFTER, ADD
const SESSION = 6;

OPEN
\phpbb\request\request.php

FIND
\phpbb\request\request_interface::FILES => '_FILES',

AFTER, ADD
\phpbb\request\request_interface::SESSION=> '_SESSION',
И затем, без $request->enable_super_globals();, попробовать получить переменные примерно таким способом:

Код: Выделить всё

$var = $request->variable('varname', 'default_value', \phpbb\request\request_interface::SESSION);
Отправлено спустя 1 минуту 2 секунды:
paladi писал(а): Версия 5.3
Минимальная версия для phpBB 3.1 - PHP 5.3.3.
Изображение
paladi
phpBB 1.2.0
Сообщения: 11
Стаж: 12 лет 1 месяц

Re: $_SESSION в 3.1 недоступны?

Сообщение paladi »

по поводу версии ошибся: PHP Version 5.4.38-0+deb7u1
Сделал все, но результат тот же.
Ну может в моем случае, придется вкл/отключать.

Вернуться в «Поддержка phpBB 3.1.x»