zend_session_savehandler_dbtable 유효한 세션 ID를 생성하지 않습니까?
-
19-09-2019 - |
문제
나는 현재 데이터베이스베이스 세션을 통해 인증을 지속하려고 노력하지 않고 머리를 찢고 있습니다. 데이터베이스를 사용하도록 zend_session을 설정하고 검사시 Zend는 데이터베이스에 값을 쓰고 있습니다. 그러나 해당 세션의 ID는 phpsessid와 일치하는 것으로 보이지는 않지만 zend_session이 ID를 반환 할 때 일치하는 값을 반환합니다.
그래서 - 내 DB에는 다음과 같습니다.
ID.....MODIFIED.......LIFETIME...DATA
344..1265640083.......1440.......BLAH
그러나 Zend 세션 자체에서 ID를 호출하면 ...
$id = Zend_Session::getId();
echo $id; // mbgspg2gvf1c3r9l7qpv6orgt4
Zend 세션에서 생성 된 ID가 Phpsessid의 ID와 일치해야한다고 가정합니다.
여기 내 부트 스트랩이 있습니다
$dbAdapter = $resource->getAdapter();//connection is tested and working
Zend_Registry::set("db", $dbAdapter);
$config = array(
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime',
'db' => $dbAdapter
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
Zend_Session::start();
누군가가 이것에 대해 약간의 빛을 흘릴 수 있다면 나는 영원히 감사 할 것입니다 ...
해결책
글쎄, 난 붐비는데. 테이블 유형을 InnoDB로 변경했는데 이제 작동합니다.
내 방어에서 - 주요 문서에서는 innodb를 지정하지 않습니다. http://framework.zend.com/manual/en/zend.session.savehandler.dbtable.html
여기서는 다음과 같습니다. http://framework.zend.com/wiki/display/zfprop/zend_session_savehandler_dbtable?showcomments=false
그게 고정 된 것입니다. 아마도 내 아파치의 로컬 버그일까요?
제휴하지 않습니다 StackOverflow