본문 바로가기

Linux Server 구축/1-2. Web Server

PHPMyAdmin - mcrypt 문제 해결 방법 (libmcrypt 설치)


PHPMyAdmin 을 설치 후 실행했을 때 아래와 같은 에러 문구가 나타났을 경우 해결하는 방법

  mcrypt 확장모듈을 불러올 수 없습니다.<br />
  PHP 환경설정을 검사하십시오.

-------------------------------------------------------------------

libmcrypt-2.5.8.tar.gz (다운로드)

-------------------------------------------------------------------


1. libmcrypt 설치

 
[root@server3 Desktop]# tar xvfz libmcrypt-2.5.8.tar.gz
libmcrypt-2.5.8/

- 중략

libmcrypt-2.5.8/configure.in

[root@server3 Desktop]# cp -a libmcrypt-2.5.8 /usr/local
[root@server3 Desktop]# cd /usr/local
[root@server3 local]# ll
drwxrwxrwx  9 test1 adm  4096  2월 19  2007 libmcrypt-2.5.8
[root@server3 local]# cd libmcrypt-2.5.8/

[root@server3 libmcrypt-2.5.8]# ./configure --prefix=/usr/local/ - /usr/local 경로에 컴파일 해준다.

config.status: creating Makefile
config.status: creating libmcrypt.spec
config.status: creating lib/Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating include/mutils/mcrypt.h
config.status: creating include/Makefile
config.status: creating modules/Makefile
config.status: creating modules/modes/Makefile
config.status: creating modules/algorithms/Makefile
config.status: creating lib/libmcrypt-config
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing default-1 commands

[root@server3 libmcrypt-2.5.8]# make

- 중략

make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8/src'
Making all in doc
make[2]: Entering directory `/usr/local/libmcrypt-2.5.8/doc'
make[2]: `all'를 위해 할 일이 없습니다
make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8/doc'
make[2]: Entering directory `/usr/local/libmcrypt-2.5.8'
make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8'

[root@server3 libmcrypt-2.5.8]# make check

- 중략

PASS: ciphertest
AES tests (CFB, nCFB, nOFB, CTR) were successful.
PASS: aestest
==================
All 2 tests passed
==================
make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8/src'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8/src'
Making check in doc
make[1]: Entering directory `/usr/local/libmcrypt-2.5.8/doc'
make[1]: `check'를 위해 할 일이 없습니다
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8/doc'
make[1]: Entering directory `/usr/local/libmcrypt-2.5.8'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8'

[root@server3 libmcrypt-2.5.8]# make install

- 중략

make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8/lib'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8/lib'
Making install in src
make[1]: Entering directory `/usr/local/libmcrypt-2.5.8/src'
make[2]: Entering directory `/usr/local/libmcrypt-2.5.8/src'
make[2]: `install-exec-am'를 위해 할 일이 없습니다
make[2]: `install-data-am'를 위해 할 일이 없습니다
make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8/src'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8/src'
Making install in doc
make[1]: Entering directory `/usr/local/libmcrypt-2.5.8/doc'
make[2]: Entering directory `/usr/local/libmcrypt-2.5.8/doc'
make[2]: `install-exec-am'를 위해 할 일이 없습니다
test -z "/usr/local//man/man3" || mkdir -p -- "/usr/local//man/man3"
 /usr/bin/install -c -m 644 './mcrypt.3' '/usr/local//man/man3/mcrypt.3'
make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8/doc'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8/doc'
make[1]: Entering directory `/usr/local/libmcrypt-2.5.8'
make[2]: Entering directory `/usr/local/libmcrypt-2.5.8'
make[2]: `install-exec-am'를 위해 할 일이 없습니다
make[2]: `install-data-am'를 위해 할 일이 없습니다
make[2]: Leaving directory `/usr/local/libmcrypt-2.5.8'
make[1]: Leaving directory `/usr/local/libmcrypt-2.5.8'




2. php 재컴파일 시 추가

PHP를 컴파일 할 때 같이 추가 해준다.

 
# pwd
/usr/local/src/php-5.2.8

#make clean - 이전 컴파일 정보 삭제

# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache/conf --with-exec-dir=/usr/local/apache/bin --enable-mbstring --with-mcrypt=/usr/local - 재컴파일시 추가해준다.

#make && make install




3. php 컴파일 후 /usr/bin/ld: cannot find -lltdl 에러 발생시


- libmcrypt-2.5.8/libltd 폴더로 이동한다.

# pwd
/usr/local/src/libmcrypt-2.5.8/libltd

# ./configure  --enable-ltdl-install

#make && make install

-------------------------------------------------------------------

- php-5.2.8 폴더로 이동한다.

# pwd
/usr/local/src/php-5.2.8

#make clean - 이전 컴파일 정보 삭제

# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache/conf --with-exec-dir=/usr/local/apache/bin --enable-mbstring --with-mcrypt=/usr/local - 재컴파일 해준다.

#make && make install