처음부터 차근차근

Codeigniter session database timestamp에 0이 들어가는 이유 본문

Error&Warning

Codeigniter session database timestamp에 0이 들어가는 이유

_soyoung 2021. 12. 2. 15:52
반응형

Codeigniter 프로젝트를 하던 도중 session 처리를 했을 때 databasedml timestamp 값에 00:00:00 값만 들어가고, ip_adress도 제대로 안들어가는 오류가 생겨 한참을 고생했다.

 

이유

이유는 session 테이블 구조가 현재 서버에 깔려있는 codeigniter 버전과 맞지 않았기 때문이었다.

 

해결

이런 테이블 구조로 만들었던 table을 지우고(codeigniter 4.1.5 버전 session 테이블 구조였음..)

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    `id` varchar(128) NOT null,
    `ip_address` varchar(45) NOT null,
    `timestamp` timestamp DEFAULT CURRENT_TIMESTAMP NOT null,
    `data` blob NOT null,
    KEY `ci_sessions_timestamp` (`timestamp`)
);

 

 

codeigniter 3.1.11버전 문서의 table 구조로 새로 다시 만들어줬더니

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(128) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);

 

아-주 잘됐다.

 

codeigniter 문서에서 코드를 가져올 때는 내가 현재 버전에 맞는 문서를 보고있는지 잘 봐야 한다는 것을 깨달았다.

반응형
Comments