Используется с помощью session_start()

#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 в значительной степени покрыл это.