Итак, для начала я знаю, что использование кэша памяти или базы данных было бы лучшим способом. Но я (на данный момент) создал среду балансировки нагрузки, в которой у меня есть общее хранилище файлов сеанса PHP. Некоторые клиенты теперь заявляют, что у них возникла проблема, и я не уверен, имеет ли это какое-либо отношение к хранилищу сеансов.
Мой вопрос - как PHP обрабатывает общее хранилище файлов сеанса php? Возникнут ли проблемы с присвоенными им идентификаторами сеансов? (поскольку на 3-4 машинах Apache2 / PHP запущены сеансы создания) Как насчет очистки, когда они помечены как мусор? Может ли одна машина apache2 / PHP "случайно" удалить сеанс, который еще не предназначался для удаления? У всех машин одинаковый таймаут «помечен как мусор». И все они запускают один и тот же сеанс PHP для очистки cronjob.
/ Ронни
PHP не реализует "общее хранилище файлов сеанса php?" Вы имеете в виду, что храните файлы сеанса в сетевой файловой системе? Что-то другое? Обработчик по умолчанию использует время модификации файла, чтобы определить, когда был последний доступ к сеансу. Пока часы почти синхронизированы (хотя запуск ntpd имеет больше смысла) и оба используют UTC для аппаратных часов, не должно быть путаницы.
BTW блокировка файлов NFS отстой.