Iconv 모듈 설치하기
XLI. iconv 함수
## 설치되어져 있는 php에 iconv 모듈 깔기
iconv 라이브러리는 리눅스서버에는 기본으로 설치되어 있을 경우 남은 문제는
PHP에서 iconv를 포함시키는 것인데 이는 extension을 이용하면 편하다.
1. 그러기 위해서는 설치한 소스중 iconv가 있는 곳을 찾아서 모듈을 생성해 줘야한다.
[root@localhost /]# cd /usr/local/src/php-4.x.x/ext/iconv // php 소스를 풀어둔
디렉토리로 이동
[root@localhost /]# phpize
[root@localhost /]# ./configure
[root@localhost /]# make
만약 소스를 삭제했거나하면 자신의 PHP 버전과 일치하는 버전을 찾아서 다운로드 받아서위와 같이 하면 된다.
각 버전별 PHP 소스는 아래에서 구할 수 있다.
최신버전 : http://www.php.net/downloads.php
이전버전 : http://kr2.php.net/releases/index.php
2. 위의 작업이 끝난 후에 iconv.so 와 iconv.la 가 생성되어져 있는 것을 확인할 수 있다.
[root@localhost /]# ls modules
[root@localhost /]# iconv.la iconv.so
3. 위의 모듈을 확인 후 적당한 extension의 위치에 iconv.so 파일을 복사한다.
[root@localhost /]# cp modules/iconv.so /usr/local/php/lib/php/extensions
4. 마지막으로 php.ini 파일을 편집해줘야 한다.
그리기 위해서는 웹에서 phpinfo(); 함수를 이용하여 php.ini파일을 찾으면 된다.
Zend가 깔려져 있는 경우가 많기 때문에 주로 /usr/local/Zend/etc/php.ini 나
/usr/local/php/etc/php.ini 위치에 설치가 되어진 경우가 많으니 정확한 경로를
파악해서 수정해줘야 한다.
[root@localhost /]# vi /usr/local/Zend/etc/php.ini
5. php.ini 에서 먼저 extension_dir를 고쳐줘야한다.
3번에서 iconv.so 를 복사한 디렉토리로 고쳐주도록 한다.
....
; Directory in which the loadable extensions (modules) reside.
; extension_dir = "./"
extension_dir = "/usr/local/lib/php/extensions/" <<-- 이 부분
....
6. php.ini 에서 다음으로 Dynamic Extensions 항목을 찾아서
아래와 같이 "extension=iconv.so" 를 직접 적어준다.
....
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
XLI. iconv 함수
이 모듈은 iconv 문자셋 변환 기능을 사용하는 인터페이스를 가지고 있다.
이 모듈로, 로컬 문자셋을 유니코드 문자셋 등의 다른 문자셋으로 변환할 수 있으며
지원하는 문자셋은 시스템의 iconv 실행에 의존한다.
몇몇 시스템에서는 iconv가 기대한대로 작동하지 않을 수 있는 점에 주의하고
GNU libiconv 라이브러리를 설치하면 대부분의 경우에 좋은 결과를 얻을 수 있다.
이 모듈로, 로컬 문자셋을 유니코드 문자셋 등의 다른 문자셋으로 변환할 수 있으며
지원하는 문자셋은 시스템의 iconv 실행에 의존한다.
몇몇 시스템에서는 iconv가 기대한대로 작동하지 않을 수 있는 점에 주의하고
GNU libiconv 라이브러리를 설치하면 대부분의 경우에 좋은 결과를 얻을 수 있다.
## 설치되어져 있는 php에 iconv 모듈 깔기
iconv 라이브러리는 리눅스서버에는 기본으로 설치되어 있을 경우 남은 문제는
PHP에서 iconv를 포함시키는 것인데 이는 extension을 이용하면 편하다.
1. 그러기 위해서는 설치한 소스중 iconv가 있는 곳을 찾아서 모듈을 생성해 줘야한다.
[root@localhost /]# cd /usr/local/src/php-4.x.x/ext/iconv // php 소스를 풀어둔
디렉토리로 이동
[root@localhost /]# phpize
[root@localhost /]# ./configure
[root@localhost /]# make
만약 소스를 삭제했거나하면 자신의 PHP 버전과 일치하는 버전을 찾아서 다운로드 받아서위와 같이 하면 된다.
각 버전별 PHP 소스는 아래에서 구할 수 있다.
최신버전 : http://www.php.net/downloads.php
이전버전 : http://kr2.php.net/releases/index.php
2. 위의 작업이 끝난 후에 iconv.so 와 iconv.la 가 생성되어져 있는 것을 확인할 수 있다.
[root@localhost /]# ls modules
[root@localhost /]# iconv.la iconv.so
3. 위의 모듈을 확인 후 적당한 extension의 위치에 iconv.so 파일을 복사한다.
[root@localhost /]# cp modules/iconv.so /usr/local/php/lib/php/extensions
4. 마지막으로 php.ini 파일을 편집해줘야 한다.
그리기 위해서는 웹에서 phpinfo(); 함수를 이용하여 php.ini파일을 찾으면 된다.
Zend가 깔려져 있는 경우가 많기 때문에 주로 /usr/local/Zend/etc/php.ini 나
/usr/local/php/etc/php.ini 위치에 설치가 되어진 경우가 많으니 정확한 경로를
파악해서 수정해줘야 한다.
[root@localhost /]# vi /usr/local/Zend/etc/php.ini
5. php.ini 에서 먼저 extension_dir를 고쳐줘야한다.
3번에서 iconv.so 를 복사한 디렉토리로 고쳐주도록 한다.
....
; Directory in which the loadable extensions (modules) reside.
; extension_dir = "./"
extension_dir = "/usr/local/lib/php/extensions/" <<-- 이 부분
....
6. php.ini 에서 다음으로 Dynamic Extensions 항목을 찾아서
아래와 같이 "extension=iconv.so" 를 직접 적어준다.
....
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
extension=iconv.so <<- 이부분을 직접 입력해 준다.
...
7. 그리고 저장한 다음 apache를 재시작하면 되며 설정이 적용되었는지 확인하려면
웹에서 phpinfo(); 함수를 이용해서 보면 된다.
phpinfo() 함수를 이용해서 서버설정을 확인하려면 phpinfo.php 처럼 파일을 하나
만들어서 내용에 아래와 같이 입력해 주고 웹상에서 실행해 주면 된다.
<?
phpinfo();
?>
...
7. 그리고 저장한 다음 apache를 재시작하면 되며 설정이 적용되었는지 확인하려면
웹에서 phpinfo(); 함수를 이용해서 보면 된다.
phpinfo() 함수를 이용해서 서버설정을 확인하려면 phpinfo.php 처럼 파일을 하나
만들어서 내용에 아래와 같이 입력해 주고 웹상에서 실행해 주면 된다.
<?
phpinfo();
?>