Сессионные куки
Помните, что HTTP не имеет состояния , поэтому сеансы отслеживаются на вашем сервере, но клиент должен идентифицировать себя с каждым запросом. Когда вы объявляете session_start (), ваш браузер обычно устанавливает cookie («идентификатор сеанса PHP»), а затем идентифицирует себя, отправляя значение cookie с каждым запросом. Когда скрипт вызывается с использованием запроса со значением сеанса, функция session_start () попытается найти сеанс. Чтобы доказать это самому себе, обратите внимание, что сеансы умирают, когда вы очищаете свои куки-файлы. Вы упомянули, что вы называете сеанс ... посмотрите куки вашего браузера и посмотрите, сможете ли вы найти куки с тем же именем.
Все это означает, что файлы cookie играют активную роль в ваших сеансах, поэтому, если клиент не поддерживает файлы cookie , то вы не можете выполнять сеанс так, как в настоящее время. делать это .. по крайней мере, не для тех альтернативных клиентов. Сессия будет создана на сервере; вопрос в том, участвует ли клиент.
Если куки не подходят для вашего клиента, вам нужно будет найти другой способ для передачи идентификатора сеанса на сервер. Это может быть сделано, например, в строке запроса , хотя отправка идентификатора сеанса таким способом считается немного менее конфиденциальной.
mysite.com?PHPSESSID=10alksdjfq9e
Как это конкретно зависит от вашей версии PHP, но в основном это просто конфигурация. Если установлены правильные параметры времени выполнения, PHP будет прозрачно добавлять идентификатор сеанса в качестве параметра запроса к ссылкам на странице (конечно, только с одним и тем же источником). Вы можете найти подробности по настройке этого на PHP сайте .
Sidenote: Несколько лет назад это была распространенная проблема при попытке реализовать сеанс. Файлы cookie были более новыми, и многие люди отключали поддержку файлов cookie в своих браузерах из-за предполагаемых проблем безопасности.
Sidenote: @ Uberfuzzy делает хорошее замечание - использование сессий с curl или wget действительно возможно. Проблема в том, что он менее автоматический. Пользователь может выгружать значения заголовков в файл и использовать их в будущих запросах. У curl есть несколько флагов «осведомленности о cookie», которые позволяют вам легче справиться с этим, но вы все равно должны явно это сделать. Опять же, вы можете использовать это в ваших интересах. Если на вашем альтернативном клиенте имеется функция curl, вы можете сделать вызов самостоятельно, используя флаги осведомленности о cookie. См. руководство по скручиванию .