Созданы пустые файлы сеанса PHP

У меня есть сайт, на котором я использую сеансовую авторизацию для своих пользователей. Подробности:

PHP Version 7.2.8
session.gc_maxlifetime  604800
session.gc_probability  1
session.gc_divisor  1000

Я использую следующий файл db.php для создания сеанса

$dinamo_session = session_name("dinamo_session");
ini_set('session.cookie_domain', '.DOMAIN_NAME'); 

#if (isset($_REQUEST[session_name("dinamo_session")])) {
    #ini_set('session.cookie_lifetime', 604800);
    #ini_set('session.gc-maxlifetime', 604800);
    #ini_set('session.save_path', '/var/www/user9357/data/_SESSIONS');
    session_start();
    #session_regenerate_id(true);
    #session_write_close();
#}

Мои пользователи со своей стороны не жалуются, вроде все в порядке, единственное, что я вижу растущее количество сессионных файлов нулевого размера (равно как и обычные сессионные файлы с реальными данными сессии) Вы можете видеть, что различные строки кода закомментированы. Я пытался использовать их все, чтобы избежать создания этих файлов нулевого размера, но это не помогло (isset - проверить, была ли сессия создана ранее, session_regenerate_id(true) - удалить старые файлы), но не повезло. Мне даже пришлось закомментировать isset, так как некоторые пользователи жаловались, что не могут войти в систему. Я также проверил, что: Opera и Firefox были в порядке, но браузер Vivaldi не смог войти

Любые идеи, почему эти нулевые файлы создаются и как я могу это остановить?

Может быть, вы ничего не пишете на эти сеансы? Является ли cookie_domain определенно правильным?

Jonnix 11.02.2019 15:17

Привет, Джон. Я пишу что-то в файлах сеанса, так как их сотни с реальной информацией о сеансе. И все пользователи там успешно авторизовались. Доменное имя ненастоящее, я просто заменил его в коде на .DOMAIN_NAME, чтобы вставить сюда информацию. Единственное, о чем я могу думать, это то, что я использую RedBeanPHP (ORM для PHP) для создания и выбора пользователей, но я не знаю, как это может повлиять на создание пустых файлов сеансов. Интересно, есть ли реальный способ найти причину создания этих пустых нулевых файлов?

UltraMax 12.02.2019 10:38

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

Jonnix 12.02.2019 10:39

Я попытался использовать функцию isset 'if (isset($_REQUEST[session_name("dinamo_session")])) {' для запуска сеансов только тогда, когда он был создан ранее - не помогло. Нулевые файлы продолжают создаваться

UltraMax 12.02.2019 10:46

Хорошо, я поигрался с логикой своих файлов и надеюсь, что найду причину этих пустых файлов Единственное, чего я не понимаю, это то, что когда я хочу удалить сеанс, я использую следующий код $dinamo_session = session_name("dinamo_session"); session_start(); session_destroy(); $_SESSION = array(); И я не понимаю, почему Я все еще вижу в своей консоли существующий файл cookie сеанса и вижу пустой файл. И когда я снова вхожу в систему, я вижу, что старый файл (который раньше был нулевого размера) снова заполнен данными. Есть ли способ удалить файл сеанса вместе с файлом cookie?

UltraMax 12.02.2019 16:22

Во всяком случае, теперь я вижу, что количество файлов сеанса стабильно и не увеличивается с каждым днем ​​(возможно, старые файлы корректно удаляются сборщиком мусора). Спасибо за помощь, и я продолжу думать о правильной архитектуре веб-приложения)

UltraMax 14.02.2019 11:47
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
292
0

Другие вопросы по теме