Я столкнулся с проблемой, с которой не могу справиться.Я вынужден использовать PHP
fastcgi
кеш в NGINX
, чтобы уменьшить нагрузку на сервер.Такой подход работает отлично, но так как я использую сеансы, мне нужно как-то настроить NGINX
, чтобы возвращать некэшированный контент (или его часть) посетителям, вошедшим в систему.
Я не могу понять этотак как я могу узнать, вошел ли пользователь, проверив его сеанс.
if (!isset($_SESSION['subscr_loggedin']) ||
$_SESSION['subscr_loggedin'] !== true) {
...
}
Полагаю, мне нужно использовать SSI
.Однако этот метод позволяет исключить кеш из некоторого шаблона PHP
, в то время как мне нужно исключить некоторые функции.
Например, мой посетитель может отслеживать и собирать телешоу.Когда он нажимает кнопку «дорожка», шоу добавляется в его коллекцию.И он должен видеть, что шоу отслеживается, когда он возвращается на ту же страницу!Но, если страница уже кэширована, посетитель видит, что что-то пошло не так, поскольку контент не обновляется.
Итак, у меня есть только два варианта:
- Запретить NGINX кэшировать содержимое для всех посетителей, которые вошли в систему;
- Не кэшируйте некоторые блоки на моей странице.Но данных об использовании
SSI
.
очень мало. Оба варианта приемлемы для меня.Кто-нибудь может мне помочь с такой проблемой?