#php
#php
Вопрос:
Я новичок в advanced php. Пожалуйста, не могли бы вы объяснить, что делает эта функция?
ini_set('session.use_trans_sid', 0);
У меня есть конкретный файл с именем index.php в котором, если я начинаю сеанс, я получаю следующую ошибку в этой функции.
Предупреждение: ini_set() [function.ini-set]: сеанс активен. В настоящее время вы не можете изменить настройки ini модуля сеанса в […]/main.inc.php в строке 35
Я установил модуль, и этот модуль удаляет все сеансы главной страницы, поэтому я поставил на него условие — для проверки session_start()
и это конкретное условие для сеанса.
Ответ №1:
ini_set('session.use_trans_sid', 0);
заключается в отключении поддержки прозрачного sid, но по умолчанию это значение равно 0.
И вы должны поставить это перед session_start()
.
Комментарии:
1. что такое прозрачная поддержка sid?.
2. PHP может автоматически вставлять идентификаторы сеанса как часть URL-адресов на веб-странице. Автоматическое внедрение называется «поддержка прозрачного SID».
Ответ №2:
разве сообщение об ошибке не говорит само за себя?
вы не можете изменить настройки сеанса после того, как он уже запущен. используйте этот параметр перед вызовом session start, а не после.
Комментарии:
1. что такое поддержка прозрачного sid? Как ответил один из ответчиков.
Ответ №3:
Всегда проверяйте, существует ли сеанс, прежде чем начинать новый, например:
if(!session_id()) { session_start(); }
Если не задан идентификатор session_id, начнется новый сеанс, в противном случае он ничего не сделает.
Что касается use_trans_sid, xdazz в значительной степени покрыл это.