Ошибка, возникшая после обновления на SMF 2.0.14.

Автор Сергей Д., 20 июля 2017, 09:06:40

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Сергей Д.

Пару дней назад писал по этому поводу в другой теме. Надеюсь, что не нарушу, если продублирую сюда.

После обновления на SMF 2.0.14, периодически ошибки в файле Load.php:

Строка: 2431: session_start();

адрес форума?action=dlattach;attach=1493;type=avatar

// Use cache setting sessions?
if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli')
{
if (function_exists('mmcache_set_session_handlers'))
mmcache_set_session_handlers();
elseif (function_exists('eaccelerator_set_session_handlers'))
eaccelerator_set_session_handlers();
}

session_start();

// Change it so the cache settings are a little looser than default.
if (!empty($modSettings['databaseSession_loose']))
header('Cache-Control: private');
}
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

Сергей Д.

#1
Нашел после чего появляется ошибка: после поиска по форуму. Возможно ещё после каких действий... Не знаю, но после поиска по форуму точно появляются ошибки:
session_start(): Failed to decode session object. Session has been destroyed
session_start(): Trying to destroy uninitialized session

В отчёте об ошибке указывается ссылка на пост, в котором нашлось искомое слово. IP адрес не пишется, даже если это зарегистрированный пользователь, а обозначается как "Гость".

 wallbash
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

Сергей Д.

Обновил php. С версии 5.4 перешел на версию 5.6
Теперь, после поиска на форуме, выбивает 1 ошибку:
Failed to decode session object. Session has been destroyed

До этого выбивало 2 ошибки попарно, которые написал в предыдущем посте. А ещё, перед тем как пустить в админку, спрашивает пароль. Раньше достаточно было ввести пароль 1 раз, теперь для админки спрашивает дополнительно пароль.

Строка ошибки не изменилась, а вот адрес другой: адрес форума?action=dlattach;attach=3594;type=avatar Хотя адрес ошибки поменялся до изменения версии php
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

kak2z

Что тут стоит? Центр администрирования > Настройки сервера > Плюшки и сессии > Хранить сессии в базе данных
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Сергей Д.

Стоит галочка возле "Хранить сессии в базе данных"
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

kak2z

Цитата: Сергей Николаевич от 01 августа 2017, 18:50:37Стоит галочка возле "Хранить сессии в базе данных"
это у Вас свой сервер или хостинг? может путь в session.save_path неправильный??
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

digger®

Цитата: Сергей Николаевич от 01 августа 2017, 18:16:03Обновил php. С версии 5.4 перешел на версию 5.6
Теперь, после поиска на форуме, выбивает 1 ошибку:
Failed to decode session object. Session has been destroyed
Это баг SMF 2.0.14, исправят в следующей версии. И куда выбивает? Это же просто предупреждение в логе, насколько я понимаю.

ЦитироватьА ещё, перед тем как пустить в админку, спрашивает пароль. Раньше достаточно было ввести пароль 1 раз, теперь для админки спрашивает дополнительно пароль.
Это не Админка - Безопасность и модерация - Отключить проверку пароля при входе в админку?

Yarik

У меня кстати тоже 5.6 и такой ошибки нет,и вроде как никогда и не было.
Что-то влияет на её появление?Настройки точно же такие.

Сергей Д.

Спасибо всем, кто ответил! Хостинг "Украина". Насчёт "выбивает": не так выразился, правильнее было написать "пишет ошибку". Понял, что не стоит заморачиваться...
Насчёт входа в админку: странное дело - точно помню что ничего не менял в настройках... Причём сейчас зашёл из под админа с телефона - пароль не  требовалось вводить (ввёл только чтобы залогиниться). Днём заходил с пк - нужно было при входе в админку писать пароль. Возле "Отключить проверку пароля при входе в админку", только что проверил - галочка не стоит.
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

digger®

Цитата: Сергей Николаевич от 01 августа 2017, 23:58:25Насчёт входа в админку: странное дело - точно помню что ничего не менял в настройках... Причём сейчас зашёл из под админа с телефона - пароль не  требовалось вводить (ввёл только чтобы залогиниться). Днём заходил с пк - нужно было при входе в админку писать пароль. Возле "Отключить проверку пароля при входе в админку", только что проверил - галочка не стоит
Если галочка не стоит, то админская сессия перепроверяется каждый час и нужно заново вводить пароль при входе в админку.

Сергей Д.

С утра появилась новая ошибка. Файл Subs-CaptchaAvatar.php

// Stretch
if ( $actions == 3 )
{
$split1 = rand(40,60);
if ($split1 > 50)
$split2 = rand(38,45);
else
$split2 = rand(55,62);
imagecopyresampled($finalIm,$im,0,0,$orig_x,$orig_y,round($new_w / 100 * $split1),$new_h,round($orig_w / 100 * $split2),$orig_h);
imagecopyresampled($finalIm,$im,round($new_w / 100 * $split1),0,round($orig_w / 100 * $split2),0,$new_w - round($new_w / 100 * $split1),$new_h,$orig_w-round($orig_w / 100 * $split2),$orig_h);
imagedestroy($im);
} else {
imagecopyresampled($finalIm,$im,0,0,$orig_x,$orig_y,$new_w,$new_h,$orig_w,$orig_h);
imagedestroy($im);
}

header("Content-type: image/jpeg");
if ($finalIm)
{
imagejpeg($finalIm);
imagedestroy($finalIm);
}
die();
}
}

?>

Ошибка, по очереди, в строчках:
imagecopyresampled($finalIm,$im,0,0,$orig_x,$orig_y,$new_w,$new_h,$orig_w,$orig_h);
imagedestroy($im);

Цитирую ошибки:
imagecopyresampled() expects parameter 2 to be resource, boolean given
imagedestroy() expects parameter 1 to be resource, boolean given
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

Сергей Д.

#11
По поводу как правильно обновляться у меня есть небольшой вопрос: Подскажите, на будущее, надо удалять моды перед обновлением версии форума и ставить после обновления или не обязательно? Я раньше обновлялся поверх модов, а тут вычитал в инструкции, что моды перед обновлением версии форума надо удалять и потом заново ставить.
Еще вопрос по поводу инсталляционных файлов, которые остались после обновлений форума (их собралось уже несколько штук). Я правильно понимаю, что их можно удалить, после обновления? Скриншот-фрагмент выкладываю.

Хотя нет
Форум za40.org - знакомства и общение тех, кому за 40.  :)
TheHost - надёжный, быстрый и недорогой хостинг с отличной техподдержкой 24/7. Выбор потребителя 2020!  O0  Форум za40.org размещён именно на этом хостинге.

Yarik

Цитата: Сергей Николаевич от 02 августа 2017, 20:34:58Я раньше обновлялся поверх модов, а тут вычитал в инструкции, что моды перед обновлением версии форума надо удалять и потом заново ставить.
Если конфликта нет с существующими модами то зачем их удалять все?Да и если конфликт есть то не обязательно моды все удалять,всегда можно найти решение.
Цитата: Сергей Николаевич от 02 августа 2017, 20:34:58Еще вопрос по поводу инсталляционных файлов, которые остались после обновлений форума (их собралось уже несколько штук). Я правильно понимаю, что их можно удалить, после обновления?
Если даунгрейд делать не планируете(откатываться обратно по версиям форума) - то можно и удалить.