APM은 여러가지 패키지가 같이 있어서 한개의 패키지가 기존의 설치된 패키지에 반해 버전이 낮거

나 높으면 연동이 제대로 안되는 경우가 많은데 PHP나 ZendOptimizer는 앞자리 버전이 바뀌지 않는

이상은 디렉토리 구조도 많이 바뀌지 않고 손쉽게 업그레이드를 할수있다.

일단 PHP 최근버전을 아래의 링크에서 다운로드 받는다. 혹은 따로 http://php.net 에서 받을수도

있다. (아파치 서버 2.x 버전 필요)

PHP 5.2.3 ZIP package 다운로드

압축을 풀어서 전체 내용을 기존의 PHP가 설치된 디렉토리에 복사한다. 이때 주의할점은 서버를

잠시 꺼두어야 된다. 읽어들이고 있는 파일이 있다면 복사가 안되는 경우가 생긴다.

혹시모를 오류를 대비해서 기존에 설치된 PHP는 따로 백업해둔다.

이제 php5apache.dll, php5apache2.dll, php5apache_hooks.dll, php5ts.dll 이파일

들을 windows\system32 디렉토리에 복사한다. 이파일들은 PHP를 설치한 디렉토리에 있다.

이것으로 업그레이드가 끝난다. PHP를 5.1.x 버전에서 5.2.x 버전으로 업그레이드 했을경우 Zend

Optimizer가 작동을 하지 않을수 있다. Zend Optimizer의 업그레이드 방법은

http://xens.dnip.net/104
 이곳에서 확인하도록 한다. 설치가 모두 끝나고나면 PHPinfo 로

확인해본다.

사용자 삽입 이미지

잘 적용된것을 확인할수 있다.

메일서버 프로그램인 Nmail(http://passkorea.net)은 PHP의 확장모듈을 몇가지 사용하는데 이중

세가지가 없으면 설치도 되지 않고 만일 PHP버전을 업그레이드 한후에 이 확장모듈들도 버전이

맞지 않으면 사용이 불가능 하게 되는 경우가 있다. 다행히 PHP 확장모듈은 찾아보면 리눅스용은

말할것도 없고 Win32용도 간편하게 구할수 있는데 문제 해결방법을 간단히 소개하겠다.

일단 여기서 나는 PHP 5.1.x 버전을 최근버전(07.06.20기준)인 5.2.x 버전으로 업그레이드 했다.

PHP 업그레이드 후에 아파치 서버 에러로그를 보면 다음과 같은 메시지를 발견할수 있다.

Warning : PHP Startup: mailparse: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=1
PHP    compiled with module API=20060613, debug=0, thread-safety=1
These options need to match


이는 기존에 컴파일된 PHP 확장모듈이 업그레이드된 PHP버전에서 읽어들이지 못해서 생기는

오류이다.

이제 아래 링크에서 Nmail 오류해결을 할수있는 PHP확장모듈을 다운로드 받도록 한다.

PHP 5.2.x 버전 확장모듈 다운로드
(다른이름으로 대상저장)

압축을 풀면 다음과 같은 파일들이 있다.

ioncube_loader_win_5.2.dll(Nmail 설치시 필수PHP확장모듈 PHP 5.2.x 용)
php_mbstring.dll(PHP 5.2.x 버전 확장모듈)
php_mailparse.dll(PHP 5.2.x 버전 확장모듈)


일단 이 파일들을 PHP가 설치된 곳의 ext 디렉토리에 모두 복사한다. 그리고 이제 PHP.ini를 수정

한다. Nmail이 설치된 상태라면 가장 아랫부분에 다음과 같은 부분이 추가되어있는데 수정한다.

(PHP.ini는 설치상태에 따라 Windows 디렉토리나 Windows\system32 혹은 PHP를 설치한

디렉토리에 있다.)

;---------------------------------
;Nmail Auto Config - Begin
extension_dir="PHP가 설치된 디렉토리/ext"
extension=php_mailparse.dll
zend_extension_ts="PHP가 설치된 디렉토리/ext\ioncube_loader_win_5.2.dll"
....(중간생략)
;Nmail Auto Config - End
;---------------------------------


이렇게 수정해준뒤 아파치 서버를 재시작 하고 PHP확장모듈이 제대로 적용됐는지 PHPinfo로 일단

확인해본다.

사용자 삽입 이미지


Mailparse와 mbstring 확장모듈이 정상적으로 로딩됐다.

사용자 삽입 이미지

아랫부분에서 ioncube_loader 모듈이 정상적으로 로딩된것을 확인했다.

이제 Nmail 관리자 화면에 접속하면 에러가 뜨지 않고 잘 작동할 것이다. 그외에 Nmail관련 사항은

http://passkorea.net 에서 찾아볼수 있다.