'PHP/CodeIgniter'에 해당되는 글 6건
[CodeIgniter] DataBase 접속 설정하기[CodeIgniter] DataBase 접속 설정하기
Posted at 2019. 7. 25. 17:06 | Posted in PHP/CodeIgniter참고 : http://www.ciboard.co.kr/user_guide/kr/database/configuration.html
■ 코드이그나이터에서 DB 접속 설정하기
/application/config/database.php에 사용자, 비밀번호, HOST, 데이터베이스명을 입력해야 한다.
/application/config/database.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /* 주 석 생 략 */ $active_group = "default"; $query_builder = TRUE; /* $db['default'] = array( "dsn" => "" , "hostname" => "IP주소" , "username" => "DB접속계정" , "password" => "계정비밀번호" , "database" => "DB이름" , "dbdriver" => "mysqli" , "dbprefix" => "" , "pconnect" => FALSE // pconnect 값이 TRUE일 사용할 경우 웹 호스팅 환경에서는 실행이 되지 않는다. , "db_debug" => (ENVIRONMENT !== "production") , "cache_on" => FALSE , "cachedir" => "" , "char_set" => "utf8" , "dbcollat" => "utf8_general_ci" , "swap_pre" => "" , "encrypt" => FALSE , "compress" => FALSE , "stricton" => FALSE , "failover" => array() , "save_queries" => TRUE ); */ // DB 설정 $db['default']['dsn'] = ""; $db['default']['hostname'] = "DB IP주소"; $db['default']['username'] = "DB접속계정 아이디"; $db['default']['password'] = "DB접속계정 비밀번호"; $db['default']['database'] = "DB 이름"; $db['default']['dbdriver'] = "mysqli"; $db['default']['port'] = "3306"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = FALSE; // pconnect 값이 TRUE일 사용할 경우 웹 호스팅 환경에서는 실행이 되지 않는다. $db['default']['db_debug'] = (ENVIRONMENT !== "production"); $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci"; $db['default']['swap_pre'] = ""; $db['default']['encrypt'] = FALSE; $db['default']['compress'] = FALSE; $db['default']['stricton'] = FALSE; $db['default']['failover'] = array( ); $db['default']['save_queries'] = TRUE; $arrParseUrl = parse_url ( $_SERVER[ 'HTTP_HOST' ] ); if( ( isset ( $_SERVER[ 'HTTPS' ] ) && $_SERVER[ 'HTTPS' ] == "on" ) ) { $arrParseUrl[ 'scheme' ] = "https"; } else { $arrParseUrl[ 'scheme' ] = "http"; } if ( strlen ( trim ( $db['default']['hostname'] ) ) == 0 ) {
echo( "#############################################################################" ); echo "</br> default DBMS 접속 호스트 정보가 정확하지 않습니다. </br>\n\n"; echo "<pre>"; var_export( $arrParseUrl ); echo "</pre>"; exit( "-----------------------------------------------------------------------------" ); echo "<pre>"; var_export( $db ); echo "</pre>"; exit( "#############################################################################" ); } |
※ 데이타베이스 설정값
환경값 |
설 명 |
dsn |
· DSN 연결문자 |
hostname |
· 데이터베이스 서버의 IP주소 · 같은 서버일경우 localhost, 120.0.0.1 |
username |
· 데이터베이스의 사용자 아이디 |
password |
· 데이터베이스의 사용자 비밀번호 |
database |
· 연결하고자 하는 데이터베이스 이름 |
dbdriver | · 데이터베이스 타입 · mysqli, postgre, odbc, etc등 · 반드시 소문자 여야만 한다. |
port |
· 데이터베이스 포트 번호 |
dbprefix |
· Query Builder를 사용할 경우 테이블명에 자동으로 접두어를 붙임 · 하나의 데이터베이스로 여러개의 CodeIgniter를 사용할 때 유용함 |
pconnect |
· 영속적연결(Persistent Connection)을 사용할 것인지 말것인지 결정한다. · BOOLEAN 타입( TRUE / FALSE ) |
db_deboug |
· 데이터베이스 에러를 표시할지 말지를 결정 · BOOLEAN 타입( TRUE / FALSE ) |
cache_on | · 데이터베이스 쿼리를 캐시할 것인지를 결정(쿼리를 텍스트 파일로 캐싱하여 데이터베이스의 부하를 줄인다.) · BOOLEAN 타입( TRUE / FALSE ) |
cachedir | · 데이터베이스 쿼리 캐시가 저장될 절대경로 |
char_set | · 데이터베이스와 통신할 때 사용할 문자셋 |
dbcollat | · 데이터베이스와 통신할 때 사용되는 문자열 대조법(Character Collation) · 'mysql'과 'mysqli' 드라이버에서만 사용된다. |
swap_pre | · 기본 테이블 접두어가 dbprefix에서 교체된다. · 수동으로 작성된 쿼리를 실행하고, 최종 사용자에 의해 변환될 때 접두어가 여전히 필요할 때 유용하다. |
schema | · 데이터베이스 스키마, "public"이 기본이다. · PostgreSQL 및 ODBC 드라이버에서 사용한다. |
encrypt | · 암호화 연결을 사용할지 결정 |
compress | · 클라이언트 압축을 사용할지를 결정한다. · MySQL 전용이다. |
stricton | · 스트릭 모드 연결을 강제로 사용할지 여부를 선택한다. · 어플리케이션을 개발하는 동안 엄격한 SQL을 보장하기 위해 좋다. · BOOLEAN 타입( TRUE / FALSE ) |
/application/models/데이터베이스_처리_모델.php |
<?php if ( ! defined("BASEPATH")) exit("No direct script access allowed"); class 데이터베이스_처리_모델 extends CI_Model { public $dbObj = null; public function __construct() { parent::__construct(); $this->dbObj = $this->load->database( "default", TRUE ); if( $this->dbObj->initialize() == FALSE ) { echo "데이타 베이스 접속에 실패 하였습니다."; exit; } else { echo "데이타 베이스 접속에 성공 하였습니다."; } } } |
# 출력결과
'PHP > CodeIgniter' 카테고리의 다른 글
CI 서브 폴더 사용 (0) | 2021.02.17 |
---|---|
[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정 (0) | 2020.02.12 |
[CodeIgniter] 폼 검증하기 (0) | 2019.12.17 |
[CodeIgniter] 컨트롤러(Controllers) 사용방법 (0) | 2019.07.31 |
[CodeIgniter] 리눅스 환경에 코드이그나이터 세팅하기 (0) | 2019.07.23 |
[CodeIgniter] 리눅스 환경에 코드이그나이터 세팅하기[CodeIgniter] 리눅스 환경에 코드이그나이터 세팅하기
Posted at 2019. 7. 23. 17:07 | Posted in PHP/CodeIgniter■ Linux 환경에 CodeIgniter 설치하기
리눅스 환경에 코드이그나이터를 설치하기 위해서는
현재 지원중인 코드이그나이터의 버전을 확인해야 한다.
코드이그나이터 사이트( http://www.codeigniter.com/download ) 에 접속하여
사용할 수 있는 버전을 확인하자.
버전을 확인했다면 wget 을 사용하여 해당 버전을 다운로드 받아보자.
$ sudo wget https://github.com/bcit-ci/CodeIgniter/archive/서비스중인 버전.zip -P /다운받을 디렉토리 경로 |
$ sudo wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.10.zip -P /var/www/html/ |
다운을 받았다면 해당 파일의 압축을 해제한다.
$ sudo unzip 다운받은 파일.zip -d 압축해제 디렉토리의 경로 |
$ sudo unzip /var/www/html/3.1.10.zip -d /var/www/html/ |
※ 참고 : wget, unzip 설치방법
|
Ubuntu |
CentOS |
wget |
$ sudo apt-get install wget |
# yum install wget |
unzip |
$ sudo apt-get install unzip |
# yum install unzip |
압축을 해제했다면 생성된 CodeIgniter 디렉토리의 파일을
아파치 서버의 실행 파일 경로로 전부 이동시킨다.
$ sudo cp -R /CodeIgniter(압축해제 디렉토리 이름)/* /아파치 서버의 실행 파일 경로 |
$ sudo cp -R /var/www/html/CodeIgniter-3.1.10/* /var/www/html/ |
코드이그나이터의 설치가 완료되었다면
브라우저를 통해 해당 서버의 IP주소 혹은 도메인( localhost )으로 접속해 보면 아래와 같은 출력결과가 나타나는 것을 확인 할 수 있다.
위와 같은 화면이 나타난다면 모든 코드이그나이터의 설치는 정상적으로 된것이다.
■ Hello World 페이지 만들기
#01. 주소체계 파악하기
Welcome to CodeIgniter 라는 메세지가 브라우저 화면에 정상적으로 출력되었지만
주소입력창에 호스트 및 도메인주소만 입력했는데 특정 컨트롤러가 실행되고, 어떤 뷰가 화면에 출력되었다.
이런 역할을 해주는 것이 /application/config/routes.php 에 존재한다.
설치경로/application/config/routes.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /* 주 석 생 략 */ $route['default_controller'] = 'welcome'; // Welcome.php 컨트롤러를 실행한다. $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE; |
주소에 컨트롤러가 입력되지 않았을 경우 welcome.php 컨트롤러가 실행된다.
설치경로/application/controller/Welcome.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller {
/* 주 석 생 략 */ public function index( ) { $this->load->view('welcome_message'); // welcome_message.php 파일을 실행한다. } } |
CodeIgniter의 주소체계는 http:// 호스트 / 컨트롤러 / 메서드로 되어 있다.
routes.php에서 default_controller를 welcome.php로 지정해서 컨트롤러 명을 알 수 있는데 실행되는 메서드 명은 알 수가 없다.
index( ) 메서드를 선언하려면 http://localhost/welcome/까지만 주소를 쳐도 자동으로 http://localhost/welcome/index라고 실행된다.
(에러 방지의 목적도 있기 때문에 index 메서드는 항상 만드는 것이 좋다.)
$this->load->view는 뷰 파일을 로딩하라는 의미이다.
/application/views/welcome_message.php 파일이 로딩되며, 확장자는 생략하고 호출된다.
#02. Hello World 출력하기
Hello World를 화면에 출력하기 위해
/application/views/welcome_message.php 파일의
내용을 아래와 같이 수정해 보자.
설치경로/application/view/welcome_message.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?><!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Welcome to CodeIgniter</title> <style type="text/css"> ::selection { background-color:#E13300;color:white; } ::-moz-selection { background-color:#E13300;color:white; } body { background-color:#FFFFFF; margin:40px; font:13px/20px normal Helvetica,Arial,sans-serif; color:#4F5155; } a { color:#003399; background-color:transparent; font-weight:normal; } h1 { color:#444444; background-color:transparent; border-bottom:1px solid #D0D0D0; font-size:19px; font-weight:normal; margin:0 0 14px 0; padding:14px 15px 10px 15px; } code { font-family:Consolas, Monaco, Courier New, Courier, monospace; font-size:12px; background-color:#F9F9F9; border:1px solid #D0D0D0; color:#002166; display:block; margin:14px 0 14px 0; padding:12px 10px 12px 10px; } #body { margin: 0 15px 0 15px; } p.footer { text-align:right; font-size:11px; border-top:1px solid #D0D0D0; line-height:32px; padding:0 10px 0 10px; margin:20px 0 0 0; } #container { margin:10px; border:1px solid #D0D0D0; box-shadow:0 0 8px #D0D0D0; } </style> </head> <body> <!-- <div id="container"> <h1>Welcome to CodeIgniter!</h1> <div id="body"> <p>The page you are looking at is being generated dynamically by CodeIgniter.</p> <p>If you would like to edit this page you'll find it located at:</p> <code>application/views/welcome_message.php</code> <p>The corresponding controller for this page is found at:</p> <code>application/controllers/Welcome.php</code> <p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p> </div> </div> --> <!-- 수 정 시 작 --> <!-- 뷰 파일은 HTML로 구성되어 있어서 일정한 규칙을 개발자와 디자이너가 준수한다면 디자인 분업이 가능하다. --> <div id="container"> <h1>Hello World</h1>
<div id="body"> <p>CodeIgniter 설치후 볼 수 잇는 화면 입니다.</p> </div> <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo (ENVIRONMENT === "development") ? "CodeIgniter Version <strong>" . CI_VERSION . "</strong>" : "" ?> </p> </div> <!-- 수 정 종료 --> </body> </html> |
자동으로 로딩되는 output 라이브러리의 변수 중 하나로 { elapsed_time }은 현재 보이는 페이지의 실행 시간을 나타낸다.
어떤 페이지든 { elapsed_time } 를 삽입하면 그 페이지의 실행 시간을 보여준다.
비슷한 변수로 그 페이지 사용량을 보여주는 { memory_usage } 가 있다.
'PHP > CodeIgniter' 카테고리의 다른 글
CI 서브 폴더 사용 (0) | 2021.02.17 |
---|---|
[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정 (0) | 2020.02.12 |
[CodeIgniter] 폼 검증하기 (0) | 2019.12.17 |
[CodeIgniter] 컨트롤러(Controllers) 사용방법 (0) | 2019.07.31 |
[CodeIgniter] DataBase 접속 설정하기 (0) | 2019.07.25 |