먼저 중복 가능성에 대해 사과드립니다. 나는 같은 질문에 대해 많은 질문을 한 것을 알았고 나는 여러 가지 대답을 읽었다. 세션 변수가 작동하지 않는 데에는 여러 가지 이유가있을 수 있지만 주어진 응답이 아니라면 트릭을 수행 할 수있는 것처럼 보입니다. 그래서 내가 다른 질문을 열었고 당신이 나를 도울 수 있기를 바랍니다. IE와 Firefox는 PHP 세션 변수를 읽거나 지우지 않습니다
나는첫 번째 파일은 세션 변수를 생성한다 ('ASC-OpenLDAP를'라는 이름의 오픈 수세 13.2 가상 서버에있는) 내 아파치 웹 서버에 다음과 같은 두 가지의 PHP 파일을 만들었습니다.
test1.php :
<?php
session_start();
$_SESSION['test'] = 'test';
header('Location: test2.php');
exit();
?>
번째 파일은 세션 변수를 판독하여 출력을 생성한다.
test2.php : 나는 일부 브라우저와 함께 programm에 테스트 한 지금까지
<?php
session_start();
echo("Test: " . $_SESSION['test']);
session_unset();
session_destroy();
exit();
?>
. Vivaldi 1.8은 test2.php에서 세션 변수의 내용을 정확하게 보여 주지만 Internet Explorer 11과 Firefox 51에서는 그렇지 않습니다.
물론 쿠키는 세 브라우저에서 활성화됩니다.
또한 session.save_path에서 세션 변수 파일을 확인했습니다. 모든 브라우저는 서버에서 세션 파일을 생성합니다. 이 파일의 내용은 항상 test|s:4:"test";
입니다. 하지만 다시 비발디 만이 test2.php에서 파일을 삭제할 수 있습니다.
필자는 최종 사용자 도구가 될 수 있도록 가능한 한 호환 가능하고 다우 세이브해야합니다. 도와주세요.
아무 데이터도 브라우저에 저장되지 않으며, 모두 서버 측에 저장됩니다. 브라우저에 저장되는 것은 모두 세션 ID가 포함 된 쿠키입니다. 일부 브라우저는 세션에서 데이터를 표시하지 못하는 경우 세션 ID 쿠키를 저장하지 않을 가능성이 있습니다. 문제의 브라우저에서 설정 한 쿠키 정책 때문일 수 있습니다. Firefox에는 서버에서 보낸 쿠키와 요청의 일부로 어떤 쿠키가 전송되는지 등을 표시 할 수있는 콘솔이 있습니다. 세션 쿠키의 상태를 확인하는 것이 좋습니다. – GordonM
참. 그게 내가 그걸 확인한 이유야. ^^ 세션 날짜는 각 브라우저에서 서버에 저장되며 올바른 내용을 갖습니다. 파이어 폭스 콘솔에 다음과 같이 쓰여 있습니다 : 'Set-Cookie : "PHPSESSID = 8c5hskk514dlkmpvn16k1mvn41sifcrmnnaadcoofsr979hlkpt1; path =/var/lib/php5 /"'IE와 파이어 폭스에서 읽기와 삭제가 작동하지 않기 때문에 이미 저장된 데이터에 접근하는 것이 문제가된다고 생각합니다. – G4schberle
Chrome 56도 작동하지 않습니다. Firefox 및 IE와 동일한 문제입니다. – G4schberle