У меня есть пример страницы содержание этого является следующий код:PHP SESSION работает только над HTTPS + PHPSESSID куки не послал
<?php
session_start();
if (isset($_SESSION['test'])){
echo 'Session variable is set ';
echo $_SESSION['test'];
}else{
echo 'Session variable is not set';
$_SESSION['test'] = 'test';
}
, когда доступ к странице через HTTPS (например: https://www.example.com/page.php) It хорошо работает. В первый раз он устанавливает переменную $ _SESSION, и после этого он восстанавливает ее в обычном режиме.
Однако, когда я получаю доступ к странице через обычный HTTP, каждый раз, когда я получаю «переменная сеанса не установлена». Когда я проверил куки запроса/ответа в обеих ситуациях, я обнаружил, что при использовании HTTPS cookie PHPSESSID извлекается из первого запроса страницы, а из второго запроса на тот же PHPSESSID отправляется как файл cookie запроса. Тем не менее, по сравнению с обычным HTTP каждый раз при загрузке страницы он загружается без отправки файлов cookie, он получает разные файлы cookie PHPSESSID, но не сохраняет их и использует для последующих запросов страницы.
Я хочу знать причины и решения этой проблемы.
спасибо.