2014-11-05 3 views
0

MediaWiki 용 세션 저장소로 MySQL을 사용하려고합니다.MediaWiki 1.22 - 세션 저장소

$wgSessionHandler = 'session_mysql'; 

에 "LocalSettings.php",하지만 난 관련된 MySQL의 DB에있는 세션 테이블을 찾을 수 없습니다 :

는 내가 추가했습니다. 당신이 을해야,

php maintenance/update.php 

이 경우 어떤 이유로, 명령 줄에 액세스 할 수 없습니다 :

데이터베이스 레이아웃에 영향을 미치는 구성 변경
+0

[업데이트 스크립트] (https://www.mediawiki.org/wiki/Manual:Update.php)를 실행 했습니까? – leo

+0

아니요? 스크립트 실행에 대한 통지를 찾지 못했습니까? – opHASnoNAME

답변

4

$wgSessionHandler = 'session_mysql';으로 설정하면 PHP가 기본 파일 백엔드 대신 MySQL 백엔드로 세션을 내부적으로 관리하도록 요청합니다. 이 경우, 직접 MySQL 백엔드를 설치하고 구성해야합니다 (신속하게 검색하면 https://github.com/repoforge/rpms/blob/master/specs/php-pecl-session_mysql/php-pecl-session_mysql.spec이 발견되었지만이 패키지는 꽤 오래된 것 같습니다). 특히 세션을 저장할 호스트, 사용자, 데이터베이스 및 테이블을 선택해야합니다.

대신 요청에 따라 MediaWiki 세션 캐시 관리자를 MySQL 백엔드와 함께 사용하는 것이 좋습니다. 이것은 이전 솔루션과 똑같은 일을하지만, MediaWiki에 제대로 통합되어 있습니다. 이 동작을 달성하기 위해, 귀하의 LocalSettings.php에 쓰기 :

$wgSessionsInObjectCache = true; # MW internal session cache management 
           # takes precedence over PHP management 
$wgSessionCacheType = CACHE_DB; # See documentation for other backends 
$wgObjectCacheSessionExpiry = 3600; # Default lifetime of the sessions 

SQLite는 작동하지 않는 것 같습니다하지만 MySQL과 잘 작동합니다. 이 캐시에서 다른 가능한 캐시 된 개체 중에서 wikiID:session:sessionsID 키가있는 테이블 objectcache을 검사 할 수 있습니다.

1

, 당신은 일반적으로 당신은 update.php 스크립트를 실행해야합니다 /w/mw-config (위키가 w이라는 디렉토리에 있다고 가정)으로 이동하고 도중 설정을 변경하지 않고 웹 설치 프로그램을 실행하여 동일한 결과를 얻을 수 있습니다.

+0

안녕하세요, 여전히 DB에 아무것도 세션 저장을위한 테이블처럼 보이는 무엇입니까? 스크립트가 성공적으로 완료되었습니다. – opHASnoNAME

관련 문제