В настоящее время я пытаюсь запустить один из моих старых веб-сайтов на недавно запущенном сервере Windows. Мы используем IIS 8.5, но у меня есть проблемы с правильными настройками Session for PHP. На сервере запущены две версии PHP, 5.4.9 и 5.6.2. Для обоих из них я установил session.save_path на «C: \ inetpub \ temp \ sessions». Для этой папки я устанавливал уровни доступа (запись, удаление, запуск, создание) для групп пользователей IUSR, IIS_IUSRS и пользователей. В чем проблема, что у меня все время возникают проблемы с началом или сеансом очистки. Случайно я получаю некоторые ошибки или предупреждения. Последний из них был следующим:Как правильно настроить сеанс для PHP на IIS 8.5
Warning: session_regenerate_id(): Session object destruction failed
Это предупреждение очень часто звучит. Мне удалось запустить веб-сайт, но когда я попытался войти в систему, ничего не случилось. Сразу после входа в систему он перенаправил меня на страницу входа, потому что он не смог найти и проверить сеанс пользователя. Additionaly я пытался сбросить некоторые данные, и я получаю эту ошибку:
Cannot regenerate session ID after HTTP headers have been sent.
Так что я угадал, что основная проблема заключается в сессии, и он установлен неправильно. Можете ли вы дать мне несколько советов, как правильно это сделать? Или что я мог сделать неправильно? Благодаря
EDIT:
Я просто выяснить, что в процессе входа в мой сеанс пуст. Я пытаюсь войти в систему, скрипт аутентифицирует мою учетную запись и сохраняет идентификатор в сеансе. Но когда он переадресовывается на другую страницу после входа в систему, сеанс пуст и он не является идентификатором пользователя.
Важно отметить, что этот веб-сайт был перенесен с сервера Linux, и он работает правильно. Поэтому в коде нет проблем. Должна быть какая-то проблема в настройках PHP или что-то еще.
Весьма сложно отправить полный код сеанса. Я использую чешский PHP-интерфейс Nette, и он слишком длинный. Но класс, обеспечивающий все действия сеансом, находится здесь: https://github.com/nette/http/blob/master/src/Http/Session.php Этот сеанс создается автоматически, а идентификатор сеанса сохраняется в файле cookie. Это полезно или вам нужна дополнительная информация? –