새 session id는 모든 session_start() 호출과 함께 세션 폴더에 만들어 지지만 다음 페이지에는로드되지 않습니다."session_start()"는 사용 가능한 하나를로드하는 대신 새 세션 ID를 생성합니다.
나는 그것을 확인하는 데 사용되는 코드 :
는,
<?php
session_start();
var_dump($_SESSION);
echo boolStr(is_writable(session_save_path())) . " and ";
echo boolStr(is_readable(session_save_path())) . "<br>";
if (!isset($_SESSION['counter'])){
$_SESSION['counter']=0;
}
echo "Refreshed: ". $_SESSION['counter'] ." times.<br>
$_SESSION['counter']++;
<a href=".$_SERVER['PHP_SELF'].'?'.session_name().'='.session_id().">refresh!</a>";
function boolStr($val)
{
return $val ? 'true' : 'false';
}
?>
카운터 (더 코드가없는 어떠한 공백이되기 전에이없는,이 상단에 바로 "으로 session_start()"를) 변수는 "$ _SESSION [ 'counter'] ++;" 새로 고침 된 페이지를로드 한 후 다시 0이되며 주소 표시 줄에서 세션 ID가 변경됩니다.
출력 :
D:\wamp64\www\sessions.php:4:
array (size=0)
empty
true and true
Refreshed 0 times.
refresh
php.ini 파일 :
session.save_handler = files
session.save_path ="D:/wamp64/tmp"
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path =/
session.cookie_domain =/
session.cookie_httponly = 1
session.cookie_secure = 0
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 32
session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = sha256
session.hash_bits_per_character = 5
세션은 지난 한 달 동안 잘 작동했다,하지만 난 브라우저를 닫을 때 (나는 거의 결코 pc와 종료를 최대 절전 모드) , 문제가 나타났다. 파이어 폭스 대신 Chrome을 사용해 보았 기 때문에 동일한 문제가 발생했기 때문에 실제로 브라우저와의 연결은 표시되지 않습니다.
session_start()가 세션 쿠키를로드하려고 할 때 어떻게되는지 어떻게 알 수 있습니까? session_start()가 어떻게 작동 하는지를 볼 수 있었다면 어쩌면 무슨 일이 일어나는지 알 수있었습니다.
감사합니다.
'error_reporting (E_ALL);을 수행 할 때 무엇을 반환합니까? – Kray
내가 잘못했는지 알 수 없으므로 session_start() 아래에 한 번 배치하고 한 번 위에 놓으면 오류가 두 번 발생하지 않았습니다. – Ibos
$ _SESSION [ 'counter'] ++를 echo 문 위로 이동하여 변수에 넣으십시오. 예를 들면 다음과 같습니다. $ session_counter = $ _SESSION [ 'counter'] ++; –