세션관리 오류 질문.
본문
안녕하세요.
제가 그누보드5 세션관리를 하기 위해서 아래 글을 보고 하고있습니다. g5_session 테이블도 있습니다.
그리고 위 링크를 보고 common.php 에 기존에 내용은 주석으로 하고 추가를 했습니다.
기존에 되어있던 부분은 주석 (굵은 검정색)
새로 추가한 부분은 주석없이 표시 (굵은 주황색)
common.php
//==============================================================================
// SESSION 설정
//------------------------------------------------------------------------------
@ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음
@ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
//echo str_replace("www/data/session","data/session",G5_SESSION_PATH);
//session_save_path(G5_SESSION_PATH);
//session_save_path(str_replace("www/data/session","data/session",G5_SESSION_PATH));
//include_once(G5_PATH."/lib/mw.session.db.lib.php");
include_once(G5_PATH."/lib/session.db.lib.php");
$session_store = new DatabaseSessionStore(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD, G5_MYSQL_DB);
session_set_save_handler($session_store);
그리고 실행을 할 경우
아래와 같이 실행됩니다. 소스코드가 그대로 노출이 됩니다.
그리고
아래와 같은 오류가 발생합니다.
Fatal error: Uncaught Error: Class 'DatabaseSessionStore' not found in /home/trsedu/www/common.php:193 Stack trace: #0 /home/trsedu/www/_common.php(2): include_once() #1 /home/trsedu/www/index.php(2): include_once('/home/trsedu/ww...') #2 {main} thrown in /home/trsedu/www/common.php on line 193
파일은 있습니다.
/lib/session.db.lib.php 에 있습니다.
서버에 따로 설정이 필요한가요?
답변 2
일단 <?로하면 php.ini에서 short_open_tag 를 On으로 해줘야합니다. 아니면 <?php로 명시해줘야 됩니다. 안그러면 소스 그대로 노출됩니다.
저도 같은 오류인데 참고할게요 ㄳㄳ