프로그램/CI(CodeIgniter)2014. 11. 20. 23:14

오류>한글 문자열이 깨지는 현상

 

 

발생>한글이 있는 문서를 웹 브라우저에서 실행하면 한글 깨짐 현상이 나타난다.

 

[Sublime Text 2로 만든 문서 내용 : UTF-8]

 

 [웹 브라우저에서 출력한 화면 내용 : EUC-KR]

 

 

방법>

인코딩 형식이 맞지 않으면 발생한다.

>브라우저의 인코딩 형식은 EUC-KR이고 문서의 인코딩 형식이 UTF-8이면 한글이 깨진다.

- 문서를 저장할 때 인코딩 형식을 EUC-KR로 바꾼다.

- 웹 브라우저의 인코딩 형식을 UTF-8로 설정한다.

- view()<meta charset=“utf-8”> 내용을 삽입한다.

간단 예>

 

 

 [Sublime Text 2로 만든 문서 내용 : UTF-8]

 

소스 예>

<!DOCTYPE html>
<html
lang="en">
<head>
 <meta charset="utf-8">

</head>

<body>

CI 한글 깨짐 - Sublime Text 2에서 만든 php 파일

<body>

</html>

 

 

[웹 브라우저에서 출력한 화면 내용 : UTF-8]

 

 

- controllers(컨트롤러)$this->output->set_header("Content-Type: text/html; charset=UTF-8;"); 내용을 삽입한다.

 

[Sublime Text 2 문서 내용 : UTF-8]

 

 

- iconv('EUC-KR', 'UTF-8', 한글 내용’); 이용한다. 




더보기>

Windows에 Sublime Text 2 설치하기

CodeIgniter 한글 깨짐 현상

Sublime Text 2 한글 깨짐 현상

Posted by 은둔고수

오류>"PHP Fatal error:  Directive 'magic_quotes_gpc' is no longer available in PHP in Unknown on line 0"

 

 

 

발생>CodeIgniter CLI 실행할때 발생

]# php index.php cli/batch message

 

 



방법>PHP 쉘(Shell) 에러 - PHP Fatal error: Directive 'magic_quotes_gpc' is no longer available in PHP in Unknown on line 0

Posted by 은둔고수

CI(CodeIgniter) Framework CLI(Command Line Interface) 실행 오류

 

발생>

웹으로 실행하면 정상이지만 cli에서 실행하면 db를 사용할 수 없다.

 

 

 

방법>

1. 로그를 확인해서 해당 오류를 해결한다.

 

2. 로그에 오류 내용이 없거나 확인할 수 없다면 php 버전이 2개 이상 설치되어있는지 확인한다.

- 설치되어있는 php 버전이 2개 이상이라면 db를 사용할 수 있는 php 버전을 사용해야 한다.

  (php 버전 확인하기 : phpi phpinfo() 정보가 다른지 확인을 해본다.)

]# php -i

 

 

웹 브라우저에서 phpinfo()로 확인하기

 

 

 

- 사용하지 않는 이전 버전의 php를 삭제한다.

 

 

 

참고>php -i 실행시 "-bash: /usr/bin/php: 그런 파일이나 디렉토리가 없음" 문구가 나타나면

참고>php -i 실행시 "magic_quotes_qpc" PHP Fatal error가 발생했다면  



더보기>

- php 버전 확인하기 - linux php version


Posted by 은둔고수
프로그램/CI(CodeIgniter)2014. 10. 31. 22:10

사이트(https://ellislab.com/codeigniter)에 접속해서 CodeIgniter를 다운을 받을 수 있으며 리눅스에서 다운받기 위해 링크 주소를 복사한다.

- 링크 : http://ellislab.com/codeigniter/download

 

 

 

 

 

 

설치할 위치로 이동을 한 후 wget 명령어를 이용해서 다운을 받는다.

]# cd /wwwdata/okkks.tistory.com/

]# wget http://ellislab.com/codeigniter/download

 

다운받은 파일을 푼다.

]# unzip CodeIgniter_2.2.0.zip

 

압축을 풀어서 생성된 CodeIgniter_2.2.0 디렉토리 안의 파일들은 현재 디렉토리로 이동을 시킨다.

]# mv CodeIgniter_2.2.0/* .

 

CodeIgniter 파일을 제외하고는 모두 삭제를 한다.

]# rmrf CodeIgniter_2.2.0

]# rmrf CodeIgniter_2.2.0.zip

 

CodeIgniter 파일을 확인한다.

]# ll

 

 

 

 

 

설치가 완료되었으며 웹브라우저를 통해서 접속해서 아래와 같은 화면이 나오면 정상이다.

 

 

Posted by 은둔고수

코드이그나이터(CI)를 사용할 때 주소에 index.php를 제거하고 싶다면

예>

http://okkks.tistory.com/index.php/board/1

주소를 다음과 같이 사용하고 싶다면

http://okkks.tistory.com/board/1

 

 

httpd.conf 설정

apache 모듈중 mod_rewrite 사용하기

- httpd.conf 파일을 열어서 mod_rewrite.so 모듈을 사용할 수 있게 주석을 제거한다.(만약 모듈이 없다면 설치를 해야 한다.)

]# vi /usr/local/apache2/conf/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

 

.htaccess 파일 사용하기 위한 httpd.conf 설정

AllowOverride None <- 변경 전

AllowOverride All <- 변경 후

 

설정을 마친 후 apache를 다시 시작한다.

]# service httpd restart

 

 

ci config.php 설정

- ci 설정 파일인 config.php 파일을 열어서 $config['index_page'] 값을 없앤다.

$config['index_page'] = 'index.php'; <- 변경 전

$config['index_page'] = ''; <- 변경 후

 

 

.htaccess 설정

- 이 파일은 ci index.php 와 같은 경로에 둔다.(.htaccess 파일이 없으면 만든다.)

설정 내용>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

 

참고>

RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)

-> index.php 포함,  하위 디렉토리 중 images, captcha, 생략... 등등은 index.php를 주소에서 없애지 않는다.

 

 

 

 

추가로 디렉토리를 만들고 만든 디렉토리도 index.php를 주소에서 없애고 싶지 않다면

위 문구에 추가하면 된다. ( 생략...|uploads|추가 디렉토리|robots\.txt )

 

 

설정을 마친 후 테스트를 해본다.

 

- 끝 -

 

 

403 Forbidden 에러가 발생했다면

 

.htaccess 파일 권한을 확인해 본다.

]# ls -al

권한 변경

]# chmod 755 .htaccess

또는 644

 

apache 설정을 httpd-vhosts.conf를 이용한다면 수정을 한다.

]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

- 생략 -

    <Directory "/wwwdata/okkks.tistory.com">
        Options +FollowSymLinks -Indexes +ExecCGI
        AllowOverride All
            Order allow,deny
        Allow from all
    </Directory>

- 생략 -

 

 

 

CodeIgniter 설치

- ci 설치 - CodeIgniter / 코드이그나이터

Posted by 은둔고수

코드이그나이터(CI) database 연결 설정이 잘못되면 발생하는 에러로 다음을 확인해 본다.

 

[database.php 파일]

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'okkks';
$db['default']['password'] = 'okkks';
$db['default']['database'] = 'okkks';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;

 

 

1. 설정 값들이 제대로 되어있는지 확인해 본다.

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'okkks';
$db['default']['password'] = 'okkks';
$db['default']['database'] = 'okkks';

 

2. ip 또는 도메인을 확인해 보거나 127.0.0.1로 변경해본다.

$db['default']['hostname'] = '127.0.0.1';

 

3. 웹호스팅인 경우 TRUE로 하면 안되는 경우도 있다. FALSE를 사용해 본다.

$db['default']['pconnect'] = FALSE;

 

4. FALSE로 바꿔본다.

$db['default']['db_debug'] = FALSE;

Posted by 은둔고수