CI 묻고 답하기

제목 세션사용시 .. 세션 데이터베이스 옵션 활성... 관련에러..
글쓴이 코드이그터 작성시각 2014/11/20 09:36:23
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 13915   RSS
A PHP Error was encountered

Severity: Warning

Message: Missing argument 1 for CI_DB_driver::__construct(), called in /home/system/core/Loader.php on line 1099 and defined

Filename: database/DB_driver.php

Line Number: 81

------------------------------------------------------------------------------------------------
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: params

Filename: database/DB_driver.php

Line Number: 83

위와 같이 2개의 에러출력과 함께, 해당 페이지 한글이 모두 깨져버리네요 ㅠㅠ;

단지, config 에서 $config['sess_use_database']    = TRUE; 한것밖에 없는데 ㅠㅠ;
세션 DB 쓰기전에는 다른 DB 라이브러리를 사용했었어요, 그래서 CI에 내장된 DB 라이브러리를 사용할 필요가 없어서 DB 접속 설정을 안해두었다가, 세션DB를 사용할일이 생겨서, CI 내장 DB 라이브러리 config에 접속정보 넣고,
세션DB 활성화 하니.. 저런 에러를 출력하네요 ㅠㅠ;

 

 다음글 서로다른 뷰의 변수 scope (9)
 이전글 코드이그나이터 cli (1)

댓글

한대승(불의회상) / 2014/11/20 11:01:07 / 추천 0
1. CI DB에 접속이 잘되는지 확인 해보세요.
2. session table은 생성 하였는지 점검 해보세요.
코드이그터 / 2014/11/20 11:16:25 / 추천 0
@한대승
네, CI DB에 접속 잘되고 있습니다.. 또한 세션테이블역시 생성했습니다.
세션테이블에 세션데이터가 잘 INSERT / UPDATE 가 잘 되고 있기에, 1번, 2번 모두 통과!
한대승(불의회상) / 2014/11/20 11:22:36 / 추천 0
코드이그터// 그럼 위 에러는 어디 부분에서 나는 걸까요?
params 라는 변수가 없다는 건데...
코드이그터 / 2014/11/20 11:38:23 / 추천 0
@한대승
core/database/DB_driver.php
에 보면..

    /**
     * Constructor.  Accepts one parameter containing the database
     * connection settings.
     *
     * @param array
     */
    function __construct($params)
    {
        if (is_array($params))
        {
            foreach ($params as $key => $val)
            {
                $this->$key = $val;
            }
        }

        log_message('debug', 'Database Driver Class Initialized');
    }

코드가 있습니다.. 여기서 에러가...
한대승(불의회상) / 2014/11/20 11:43:42 / 추천 0
코드이그// ㅎㅎ 제가 질문을 잘못 했군요.

위 답변대로 CI 에서 DB 접속에 문제가 없다면 core에서 에러가 나올리 없습니다.
어떤 상황에서 에러가 나오고 있나요?
사이트 접속만 해도 위 에러가 나오는건가요?
아니면 특정 URL에 접속시만 위 에러가 나오는건가요?
 
코드이그터 / 2014/11/20 11:54:36 / 추천 0
@한대승
ㅎㅎ;;
일단, 특정URL 접속시 위에러가 나오는 상황이긴하구요..
해당 컨트롤러에 $this->load->library('session'); 있을경우에만, 위 에러가 발생합니다.
config 에서 세션DB false 하면, 에러출력하던 페이지에서도 에러는 없구요 ^^;
한대승(불의회상) / 2014/11/20 12:42:20 / 추천 0
코드이그터// 컨트롤러 하나 만드시고 $this->load->database() 해보세요.
동일한 에러가 난다면 database 세팅에 문제가 있는겁니다.
코드이그터 / 2014/11/20 12:50:05 / 추천 0
@한대승
말씀하신대로 테스트해봤습니다 ^^;
 $this->load->database()
에서 동일한 에러는 없었고 정상작동 했구요.
config 에서 세션DB FALSE 에서

$this->load->library('session');
로드해도 별 이상없었으나.,..

세션DB TRUE 하고 해당 URL 들어가면, 동일 오류가 출력됩니다 ㅠㅠ;