Вы не вошли.
Страницы: 1
Включил авторизацию в магазине через Steam, ничего не происходит. В логах apache вот такая ошибка:
AH01071: Got error 'PHP message: PHP Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions) in Unknown on line 0\n', referer: https://steamcommunity.com/openid/login?openid.ns ...
При этом если авторизоваться по паролю, то дополнительная авторизация в стим в магазине работает, аватары подгружает и всё работает нормально. Не могу только залогиниться в магазине через стим.
Отредактировано kolesnikov (07-12-2018 01:04:13)
Вне форума
На хостинге не настроены привилегии для записи сессий session.save_path. Смените владельца на www-data для папки /var/lib/php/sessions
Вне форума
Сменил, та же ошибка. Файлы сессий в папке лежат и обновляются. Теперь браузер не пишет "ошибка при авторизации steam", а просто молча не входит в аккаунт.
Отредактировано kolesnikov (08-12-2018 16:36:37)
Вне форума
попробуйте по очереди сменить варианты хранения сессий
$mconf['session'] = 'sql';
$mconf['session'] = 'file';
$mconf['session'] = '';
Вне форума
Был вариант sql, поставил file заработало. Непонятно почему SQL сессии сбоят при авторизации через steam, ведь без стим они работают. Сравнил таблицу с демо-версией на локал-хосте - совпадает.
Вне форума
Проверьте ешё таблицу ms_members_fields.
CREATE TABLE IF NOT EXISTS `ms_members_fields` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) NOT NULL,
`name` varchar(180) NOT NULL DEFAULT '',
`avatar` varchar(180) NOT NULL DEFAULT '',
`telegram` varchar(180) NOT NULL DEFAULT '',
`viber` varchar(180) NOT NULL DEFAULT '',
`steam` varchar(180) NOT NULL DEFAULT '',
`lang` varchar(5) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `user` (`user`),
KEY `telegram` (`telegram`),
KEY `steam` (`steam`)
) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;
Вне форума
Да, всё так. Ранее я добавил туда поле viber - оно отсутствовало.
Вне форума
Попробуйте перекачать и заменить файл shop\app\msmod\steam.php.
Вне форума
Попробовал - всё то же самое. Может вообще эту таблицу удалить или создать заново? Хотя все поля и индексы идентичны с демо-версией.
Вне форума
CREATE TABLE IF NOT EXISTS `ms_members_confirm` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`mail` varchar(128) DEFAULT NULL,
`steamid` varchar(128) NOT NULL DEFAULT '',
`data` text NOT NULL,
`key` varchar(128) NOT NULL DEFAULT '',
`time` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`,`mail`),
KEY `key` (`key`),
KEY `time` (`time`)
) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
Вне форума
Всё так, таблица существует и она пуста.
Вне форума
Стим авторизация для встроенной регистрации и для authme.
Предполагается вставка данных в таблицу пользователей.
Вне форума
Так все таблицы идентичны демо-версии. Не пойму в чём проблема тут. Но явно где-то в бд или в скриптах работы с ней, поскольку файловые сессии работают. В логах sql ошибок нет.
Отредактировано kolesnikov (09-12-2018 00:18:58)
Вне форума
Проверьте лог файл shop\logging\steam.txt
Вне форума
STEAM validate: ns:http://specs.openid.net/auth/2.0 is_valid:true :
REMOTE_ADDR: 13.45.12.53
TIME: 08-12-2018 23:27:37
page: steam
mod: store
id: 3
openid_ns: http://specs.openid.net/auth/2.0
openid_mode: id_res
openid_op_endpoint: https://steamcommunity.com/openid/login
openid_claimed_id: https://steamcommunity.com/openid/id/73461197980806011
openid_identity: https://steamcommunity.com/openid/id/73461197980806011
openid_return_to: https://shop.russianunity.ru/?page=steam&mod=store&id=3
openid_response_nonce: 2018-12-08T20:27:цукцeапввап=
openid_assoc_handle: 1234567890
openid_signed: signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle
openid_sig: уцкцукaпкуецук134уц=
Да всё вроде бы нормально. (значения некоторые изменил, перед публикацией)
Отредактировано kolesnikov (09-12-2018 13:03:46)
Вне форума
Ошибку повторить не могу.
Вне форума
Вот полный текст ошибки, там их две.
AH01071: Got error 'PHP message: PHP Warning: session_write_close(): Session callback expects true/false return value in Unknown on line 0\nPHP message: PHP Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions) in Unknown on line 0\n', referer: https://shop.russianunity.ru/admin/
Вот, что я нашёл по этому поводу: http://qaru.site/questions/11407578/ses … turn-value
Вне форума
Откройте админку: shop/admin/. Найдите значение переменной PHP session.auto_start, должно быть выключено.
Вне форума
Да, выключено.
Вне форума
У вас в ошибке написано, что не хватает привилегий для перезаписи файла сессии в папке /var/lib/php/sessions. Попробуйте сессии переключить на sql через файл конфигурации.
Вне форума
Дак в том то и дело, что в файловом варианте всё работает нормально, а в sql варианте выдаётся такая ошибка только при авторизации через steam, а если по логину и паролю, то всё Ок.
Вне форума
Ошибку повторить не удаётся.
Вне форума
Страницы: 1