웹서버관련정보/윈도우

[팁] PHP업그레이드후 Nmail 사용문제 해결방법

박디 2007. 6. 20. 15:48

메일서버 프로그램인 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 에서 찾아볼수 있다.