알아두면 편리한 CI(CodeIgniter) 세팅

프레임워크는 다 좋은데 프로젝트를 시작할 때마다 설정을 해야하는 약간의 번거로움이 있다. 

그런데 나같이 개발자가 아닌 사람은 프로젝트를 새로 생성하는 빈도가 많지 않기 때문에 세팅 방법에 대해서 상세히 적어두지 않으면 프로젝트를 생성 할 때마다 헷갈린다.

그래서 코드이그나이터(CI)를 이용하는 초급 개발자들을 위해 일반적인 세팅방법을 정리했다.

 

 

 

 

 

프로젝트 시작 시 필요한 일반적인 CI 세팅


– index.php 파일 없애기
    -위 방법대로 했는데 되지 않을 경우 아래 방법 참고
– index.php 파일과 동일한 디렉토리에 디자인 관련 폴더 생성 후 디자인 관련 파일 업로드
    -부트스트랩 이용자일 경우 부트스트랩 파일 업로드
    -ex)

 
 
 
 
– config>cnofig.php 파일에서 base_url 설정(프로젝트 별로 폴더를 생성하여 작업을 하는 경우에 용이)
     -http://codeigniter-kr.org/user_guide_2.1.0/helpers/url_helper.html
 
 
 
– config>config.php 파일에서 언어설정(한국어 설정)
     -위에서 파일 다운 받고 application/language 안에 넣고 config에서 아래와 같이 수정
      –$config[‘language’]     = ‘korean’;
 
– session을 DB로 사용할 경우config>config.php 파일에서 아래 사항들 수정
$config[‘sess_use_database’] = TRUE;   // session을 DB로 사용하겠다는 것.
$config[‘sess_table_name’] = ‘ci_sessions’;  // table name은 자신이 사용하고 싶은 것으로 수정가능
– codeigniter3.0 에서는 session을 아래와 같이 설정한다.
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

그리고 session driver를 database로 할 경우 아래와 같이 쿼리를 입력해서 테이블을 생성한다.

CREATE TABLE IF NOT EXISTS `ci_sessions` (
 `id` varchar(40) NOT NULL,
 `ip_address` varchar(45) NOT NULL,
 `timestamp` int(10) unsigned 기본값 0 NOT NULL,
 `data` blob NOT NULL,
 PRIMARY KEY (id),
)

 

 
 
-config>autoload 설정: 아래 사항들은 거의 사용되기 때문에 미리 설정해 두는 것이 좋다.
     -$autoload[‘libraries’] = array(‘database’, ‘session’);
     -$autoload[‘helper’] = array(‘date’, ‘url’);
   *위에서 autoload에 database를 입력했을 경우 $config[‘encryption_key’] 도 설정을 해줘야 한다. (설정하지 않으면 에러가 난다.) 일반적으로 아래와 같이 하면 된다.
   $config[‘encryption_key’] = ‘asdfghjklqwertyuiop!@#$%^&*()1234’;
 
 $config[‘base_url’] = ((isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] == “on”) ? “https” : “http”);
$config[‘base_url’] .= “://” . $_SERVER[‘HTTP_HOST’];
$config[‘base_url’] .= str_replace(basename($_SERVER[‘SCRIPT_NAME’]), “”, $_SERVER[‘SCRIPT_NAME’]);
 
-그 외 config 설정 관련

     –codeigniter-kr.org/lecture/view/207/page/1 Viewer

 – config> routes.php 설정   : $route[‘default_controller’] = “auth”;   //기본으로 접속될 페이지 설정(controllers 파일명)

0 Shares:
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

You May Also Like
Read More

기획자와 스토아철학

기획자로서 일을 하다보면 생각보다 많은 부분에서 우울할 때가 있다. 그 우울함이 심해지면 '나는 과연 필요한 존재가 맞는가?'라는 생각까지 들곤 한다. 문제는 이런 경험을 자주 할수록 자존감이 낮아진다는 것이다. 내가 겪어온 경험을 토대로 이 문제를 어떻게 극복했는지 이야기하고자 한다.
Read More

내 리더가 회사를 떠났다.

어떤 한 사람이 있다. 그 사람을 보면서 나는 이런 생각을 했다. "저 분의 인성과 역량을 닮고 싶다. 내 아들이 커서 어른이 된다면 나의 모습보다는 저 분의 모습을 닮았으면 좋겠다." 그 분은 내가 현재 재직중인 회사의 CTO이자 나의 리더였다. 아이러니하게도 그 분과 나는 전혀 다른 성격의 소유자이고 업무 스타일도 많이 달랐다. 하지만 난 정말로 그분을 닮고 싶었다.
Read More

주니어 기획자의 성장과 커리어에 대한 조언

도메인에 대한 이해가 높으면 문제를 제대로 정의할 수 있고 문제를 제대로 정의하면 합리적인 가설을 세워서 효과적인 데이터 분석을 할 수 있다. 데이터 분석을 통해 새로운 도메인 지식이 쌓인다. 이 과정을 반복하면, 기획역량은 자연스럽게 성장한다.
2021년 회고
Read More

2021년 회고(Product Owner, 가족, 성장)

회사에는 동료와 일이 있다. 가정에는 아내와 애들, 육아업무가 있다. 그러나 그 어디에도 나는 없었다. 원래 나 본연의 내가 존재할 수 있는 시간과 장소는 없었다. 단지, 의무로서의 나만 존재했다. 언뜻 생각해보면 참 서글프기도 하지만 잘 생각해보면 꼭 그렇지도 않다. 현재 나의 상황, 역할, 가족, 일.....그 모든 것이 결국은 나를 구성한다. 원래 나 본연의 나는 처음부터 없는 것인지도 모르겠다.
Read More

PO, PM들의 존재이유를 알려주는 책, 인스파이어드

일반적으로 제품개발(Product 개발)이라고 하면 기획/디자인/개발 과정을 거쳐 Product이 완성되는 과정을 의미한다. 그런데 인스파이어드 책의 저자 마티 케이건은 제품을 발견하는 과정과 제품을 시장에 전달하는 과정도 제품개발에 속한 과정이라고 정의한다. 그런 의미로 볼 때 Product을 개발한다는 것은 영업/마케팅 조직의 비지니스 과정과 분리되어 있지 않다는 것을 의미한다.