Не хочет установить id сессии в куки
В чем может быть дело, когда в куки не записывается id сессии?
При каждом обновлении страницы id сессии обновляется...

Ответы (1 шт):
При старте сессии кука с идентификатором отправляете клиенту и потом путешествует с каждым запросом туда-сюда.
Если с каждым запросом стартует новая сессия, следовательно кука где-то теряется. Вопрос в том, где именно. Может быть два пути - либо она не принимается клиентом, либо не доходит до сервера (в прочих вариантах скорее всего вы получите варнинги или ошибки в логе пхп (так что изначально при любой диагностике сначала смотрим логи)).
Откройте консоль браузера и гляньте в запросах, если кука уходит на сервер, то очевидно, она принялась, и на стороне клиента проблемы нет.
Далее посмотрите, принимается ли кука на сервере. Перед стартом сессии проверьте массив $_COOKIE. Если он пуст, то кука не дошла до пхп. Это может быть вызвано каким-либо кэширующим сервером на пути перед обработчиком пхп (в общем говоря, кто-то режет куки на этапе от получения сервером запроса, до фактической передачи запроса обработчику пхп (формально там может быть целая цепочка серверов)). В этом случае вы не увидите никаких ошибок в логах и т.п., запрос просто отфильтрован ранее и пхп ничего об этом не знает.
Но может быть ситуация, и когда дисковая квота израсходована, и при старте сессии пхп не может физически создать файл на диске, чтобы записать данные сессии. (либо другая квота (или ошибка записи), если сессии хранятся не в файлах, а в БД, например).
в этом случае, скорее проблему поможет определить просмотр логов (либо уровня приложения, либо уровня самого пхп)
банально если до старта сессии уже был ввод тела ответа, то заголовки вместе с куками уже не могут быт отправлены. так что формально это тоже можно отнести к этому вопросу. но в данном случае в логах пхп будут явные записи об этом (headers already sent)
