그런 식으로 로그인을 한 번만 제한하면 한 번에 한 계정을 여러 번 사용하여 로그인 할 수 없습니다. 또한 사용자가 다른 서버에 로그온 할 수 있으므로 session_destroy를 사용할 수 없으므로 "수동으로"세션을 삭제해야합니다.원격 서버에서 memcache 세션 삭제하기
파일 저장과 세션을 사용할 때 파일이 삭제되고 로그인이 삭제되며 새로운 사용자는 모두 잘 작동합니다. 그러나 memcache와 함께 세션을 사용할 때 memcache에서 세션을 삭제할 수 있지만 동일한 요청의 추가 로그인은 손실됩니다. 잘못 될 것인가
session_regenerate_id();
$session_id = session_id();
$m = new Memcache();
$m->connect('XXX.XXX.XXX.XXX', 11211);
$ans = $m->delete(SESSION_ID_OF_ALREADY_LOGGED_USER);
$query = "UPDATE activeLogins SET activeSession = '{$session_id}' WHERE userEmail = $safeEmail LIMIT 1";
$dbh->exec($query);
//Login new user...
어떤 생각을 :
이 내가 그것을 어떻게?
로그인 및 세션/memcache 저장 프로세스가 약간 불명확합니다. 더 많은 코드 스 니펫/설명? – ToBe
@ToBe 로그인은 세션 변수를 true로 저장하는 것으로 간단합니다. Memcache 세션 저장은'session.save_handler'와'session.save_path'를 변경함으로써 php.ini에서 변경되었습니다. 또한 **이 페이지가 완료되면 memcached 세션에서 지금 데이터를 푸시합니다. 마지막 단계는 memcached 내의 데이터 만료를 제어하기 때문에 중요합니다. ** [http://blog.preinheimer.com/index.php?/archives/334-Storing-Sessions- in-Memcache-how-everything-behaves.html) – Dexa
memcache를 사용하는 세션이 실제로 작동하는지 확인 했습니까? 확실하지 않은 경우 매우 작은 PHP 파일을 만들어 코드의 오류를 제외하고 하나의 세션 변수로 시도하십시오. – ToBe