Перейти к содержанию
gregoro

[Решено] Корзина не живет заданное время. Опробовал кажется ВСЕ(((

Рекомендуемые сообщения

Добрый день!

 

Пытаюсь заставить жить корзину одну неделю (604800 секунд).

При включенном браузере живет норм (двое суток не держал, но больше одного часа (который у многих по умолчанию) держит точно.

 

Вводные данные:

окстор 2.1

хостинг на ВПС (Centos 7 + ISPManager)

 

Что сделано:

1) в файле /system/library/cart.php прописано:

$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE customer_id = '0' AND date_added < DATE_SUB(NOW(), INTERVAL 7 DAY)");

 

2) в файле /system/library/session.php прописано: 

session_set_cookie_params(604800, '/');

 

3) в настройках php установлены параметры

session.gc_maxlifetime    604800

session.cookie_lifetime    604800

session.save_path    /var/www/site/data/bin-tmp/   (т.е. место хранения сессии не менял, т.к. один хостюсь на данном впс)

session.gc_divisor    1000

session.gc_probability    1

 

Параметры Local Value и Master Value в phpinfo одинаковые.

 

Что интересно.

Кидаю пару товаров в корзину, перехожу на страницу оформления заказа, вбиваю свои данные, потом закрываю сайт.

Нахожу свою сессию в папке /var/www/site/data/bin-tmp/.

Данные, которые я вбил на странице оформления заказа (ФИО например) - там есть. Но id  товаров, которые добавлял в корзину, НЕТ!

Так должно быть?

 

 

Я уже измучился:blink:

Отблагодарю того, кто поможет решить проблему.

 

 

 

 

Поделиться сообщением


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

конечно товаров нет. товары то теперь в базе в cart вы же сами написали.

нашли сессию? найдите ее в cart.

И следите неделю за файлом чтоб не потерялся.

И следите за браузером чтоб не потерял phpsessionid

 

исчезать может одно из трех. найдите что именно

  • +1 1

Поделиться сообщением


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

$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE customer_id = '0' AND date_added < DATE_SUB(NOW(), INTERVAL 1 WEEK)");

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, nikifalex сказал:

конечно товаров нет. товары то теперь в базе в cart вы же сами написали.

нашли сессию? найдите ее в cart.

И следите неделю за файлом чтоб не потерялся.

И следите за браузером чтоб не потерял phpsessionid

 

исчезать может одно из трех. найдите что именно

 

В базе нашел, спасибо! Не знал что в базе хранится... 

 

В какой момент запись в базу делается? В момент добавления товара или в момент перехода к оформлению?

 

Заметил, что на один session_id в базе две записи (на два добавленных товара), но с разными cart_id.

Так должно быть?

 

Следить за тремя вы имеете ввиду:

1) за записями в базе в таблице cart - тут все понятно

2) за файлом сессии - тут все понятно тоже

3) за phpsessionid - а это как отследить можно? Быстрый гуглинг результатов не дал...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, gregoro сказал:

за phpsessionid - а это как отследить можно? Быстрый гуглинг результатов не дал.

 

в куках браузера

  • +1 1

Поделиться сообщением


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

Вот здесь имеется ввиду?

2017-10-10_10-06-03.png.55efa56767c92fd6cdfb2f0a77bc0f05.png

Поделиться сообщением


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

Бл@@@@@@@!!!

Нашел!!!

У меня в подпапке стоит форум!

Он и убивает мне сессии!

Если покупатель ткнул на форум и потом вернулся в магазин, то время жизни сессии с заданного меняется на "до завершения сеанса браузера"!!!

 

Твою ж мать. Сколько времени убил, а ответ под носом лежал.

 

Loacl Value переменной session.cookie_lifetime в форумном phpinfo равно нулю.

Осталось найти где это поменять.

 

 

ООгромное спасибо всем откликнувшимся, натолкнули на правильные мысли!

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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