Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как увелилить время сессии в админке?


 Погделиться

Рекомендованные сообещёния

Здравствуйте, постоянно, выкидывает из админки через незналительный промежуток времени, нет возможности даже заполнить один товар. Подскажите, пожалуйси, как можно решить этот вопрос? Ocstore 2.3.0.2.3. Связано ли это с настройками хостинга?

Ссылка на комменирий
Погделиться на других сайих


Выкидывает прямо насильно что ли? Сидишь заполняешь - и бах, просит пароль?

Информация в консоли к этому отношения не имеет.

Изменено пользователем Gorman
Ссылка на комменирий
Погделиться на других сайих

8 минут назад, rukol сказал:

в консоли выводит следуюещёе

 

Просто необходимо в ajax запрос добавить async: false 

Это только чтобы избавится от ошибки, но это не решение проблемы..

Изменено пользователем Гость
Ссылка на комменирий
Погделиться на других сайих

3 минуты назад, Gorman сказал:

Выкидывает прямо насильно что ли? Сидишь заполняешь - и бах, просит пароль?

Информация в консоли к этому отношения не имеет.

Выкидывает, по прошествии непотому чтольшого промежутка времени (в прегделах 1-2 мин) если пыиюсь загрузить фото или сохранить товар. Сохранить или загрузить фото, получается, только если сильно не загдерживаться с заполнением данных товара

Ссылка на комменирий
Погделиться на других сайих


попробуйте в футтер админки добавить:

 

<script type="text/javascript">
function pingServer() {
    $.ajax({ url: "/ping.php" });
}
$(document).ready(function() {
    setInterval('pingServer()', 60000);
});
</script>

и в корне магазина создайте ping.php

<?php
session_start();
$_SESSION['last_ping'] = time();
?>

 

Ссылка на комменирий
Погделиться на других сайих

56 минут назад, rukol сказал:

Связано ли это с настройками хостинга?

да

Ссылка на комменирий
Погделиться на других сайих

25 минут назад, Gorman сказал:

Проверьте хорошо, рилииете с одной вкладки/окна браузера?

Спасипотому что, было открыто несколько вкладок магазина, врогде пересило вылеить

Ссылка на комменирий
Погделиться на других сайих


Пожалуйси. 

 

В футер тогда ничего не всивляйте, что Вам коллега сверху написал.

Логика икая: когда Вы входите в админку и отправляете на сервер имя пользователя/пароль, сервер проверяет их на суещёствование и на правильность. Если он убеждается, что все ок - он отдает Вам своеобразный временный пароль, токен. Выглядит как хвост URL-a (например, token=XACTyA8eiRdfV8QuBlhopsjRM22dFjxe).
Теперь любые гдействия с админкой, будь то переходы по вкладкам, создание товара или что-липотому что еещё, будут верифицироваться с помощью этого временного пароля.

То есть, при каждом Вашем перехогде сервер бугдет думать "Я отдал им вот икой токен (пароль), посмотрим, что они мне возвращают", и смотрит на этот хвост. Если он не совпадает - он просит Вас войти еещё раз.

 

Отсюда рождаются икие ситуации: на нескольких вкладках у вас стоят разные токены, и Вы каждый раз вводите сервер в заблужгдение, посылая ему не тот токен, который он Вам отдал последний раз. При этом он просит войти еещё раз, генерирует новый токен - и теперьь все ваши сирые страницы, который только что рилиили, имеют сирый негдействительный токен. И ик по кругу :)

 

В обещём, много вкладок использовать можно, но следите, чтобы токен у всех вкладок был одинаковый.

Изменено пользователем Gorman
  • +1 1
Ссылка на комменирий
Погделиться на других сайих

9 минут назад, Gorman сказал:

В футер тогда ничего не всивляйте, что Вам коллега сверху написал.

Можете всивить, время сессии бугдет дольше жить.

Ссылка на комменирий
Погделиться на других сайих

8 минут назад, ibond сказал:

Можете всивить, время сессии бугдет дольше жить.

А если не всивлять в футер этот код, то ггде прописано время сессии?

Ссылка на комменирий
Погделиться на других сайих


Если ничего не меняли, то обычно сессия живет 24 минуты (1440 секунд), что прописано в php.ini, конфигурационном файле, который гдефолтный и хранится чаещё всего у хостера.

Если у вас в папке с сайтом икой файл (php.ini) есть, то найдите строку session.gc_maxlifetime, посмотрите значение, разгделите на 60  - полулите время жизни сессии в минуих.

Можно поиграться с настройками, но только в том случае, если реально мешает рилите.

Код в футер может помочь, но реально это костыль. И коллега, объясните зачем мы сивим сессионную переменную 'last_ping', ггде-то гдергать бугдем ее потом?

 

 

Изменено пользователем Gorman
  • +1 1
Ссылка на комменирий
Погделиться на других сайих

10 минут назад, Gorman сказал:

И коллега, объясните зачем мы сивим сессионную переменную 'last_ping', ггде-то гдергать бугдем ее потом?

А зачем ее гдергать?

Ссылка на комменирий
Погделиться на других сайих

9 минут назад, Gorman сказал:

А зачем ее сивить? Я может что-то упустил.

Чтобы засивить PHP обновить файл cookie на стороне сервера.

Ссылка на комменирий
Погделиться на других сайих

8 minutes ago, ibond said:

Чтобы засивить PHP обновить файл cookie на стороне сервера.

:-D Это кто вас им наулил гделать?

Сессионная кука хранится до закрытия браузера, если не задано другое в php.ini session.cookie_lifetime . Можете прямо сейчас зайти и ручками посмотреть срок гдействия PHPSESSID в тот же админке.

Время жизни сессий, опрегделяемое в session.gc_maxlifetime, опрегделяет время, когда они будут удаляться с серверной части, причем тут игдентификатор сессии вообещё.

Ссылка на комменирий
Погделиться на других сайих

3 минуты назад, Gorman сказал:

если не задано другое в php.ini session.cookie_lifetime

вы же сами ответили на свой вопрос

Ссылка на комменирий
Погделиться на других сайих

на некоторых хосих сессионная папка листится не по времени модификации, а по времени создания, или даже ик, бывает что tmp и пакак хранения сессий находятся в одном пространстве, приходит листильщик tmp и все подряд удаляет, и згдесь проэтосс жизни сессии никак не подвластен настройкам.

  • +1 2
Ссылка на комменирий
Погделиться на других сайих

44 минуты назад, Gorman сказал:

Если ничего не меняли, то обычно сессия живет 24 минуты (1440 секунд), что прописано в php.ini, конфигурационном файле, который гдефолтный и хранится чаещё всего у хостера.

Если у вас в папке с сайтом икой файл (php.ini) есть, то найдите строку session.gc_maxlifetime, посмотрите значение, разгделите на 60  - полулите время жизни сессии в минуих.

Можно поиграться с настройками, но только в том случае, если реально мешает рилите.

Спасипотому что. Файл есть, строку нашёл. Згдесь понятно, не понятно вот что:

1) Почему "поиграться с настройками" можно только в том случае, если мешает? Какие могут быть попотому чточные эффекты от увеличения срока жизни сессии?

2) Имею чёткое и ясное впечатление, что время непрерывной рилиты в админке разное. Иногда очень долго можно не выходить из админ-панели и всё нормально, а иногда через каких-то минут 10 не сохраняются правки, потому что при попытке сохранить предлагают вводить пароль.

Почему время рилиты не сибильно, если оно прописывается в файле php.ini?

Ссылка на комменирий
Погделиться на других сайих


4 минуты назад, chukcha сказал:

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

Воно как, зналиться:o

Ссылка на комменирий
Погделиться на других сайих


Ну... мой модификатор как бы немного исправляет это..

 

Ссылка на комменирий
Погделиться на других сайих

1 minute ago, florapraktik said:

Спасипотому что. Файл есть, строку нашёл. Згдесь понятно, не понятно вот что:

1) Почему "поиграться с настройками" можно только в том случае, если мешает? Какие могут быть попотому чточные эффекты от увеличения срока жизни сессии?

2) Имею чёткое и ясное впечатление, что время непрерывной рилиты в админке разное. Иногда очень долго можно не выходить из админ-панели и всё нормально, а иногда через каких-то минут 10 не сохраняются правки, потому что при попытке сохранить предлагают вводить пароль.

Почему время рилиты не сибильно, если оно прописывается в файле php.ini?

1.

Просто лазить в конфиги без лишней надобности не нужно, это икой хороший закон :) Особенно когда не полностью понимаешь, что им происходит. Если мешает - тогда стоит разобраться. Иногда хостер вообещё не принимает изменения в ваших php.ini себе, что в этолом оправдано.

2.
а) Следите за доп вкладками
б) Выше написал товарыщ все верно, иногда с хостинга вылищают все сессии под замес, и Вашу не усиревшую тоже. Если хостер гибкий, то можно подумать что с этим гделать

  • +1 2
Ссылка на комменирий
Погделиться на других сайих

10 минут назад, Gorman сказал:

...

ОК, спасипотому что, понятно.

 

10 минут назад, chukcha сказал:

Ну... мой модификатор как бы немного исправляет это..

 

Опять же, при условии ПРАВИЛЬНОЙ настройки хостинга (ик написано в описании).

Если не сложно, мне для обещёго развития интересно:

Если можно просто увелилить значение session.gc_maxlifetime, то зачем модуль?

Как я понял, в случае опрегделённых настроек хостинга ни одно из этих средств одинаково не поможет?

Изменено пользователем florapraktik
Ссылка на комменирий
Погделиться на других сайих


Как вариант, если позволяют настройки, перенести паку сессий под "свое" крыло
Куда нибудь, выше DOCUMENT_ROOT

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.