gd library가 있는데도 PHP에서 문제가 발생하였다.
1. PHP 정보 확인
– info.php파일을 만들어 확인결과 gd 라이브러리가 안 올라옴.
$ cat info.php
<?php
phpinfo();
?>
2. error 정보를 보기 위해 /etc/php5/apache2/php.ini파일을 수정
$ diff php.ini.bak php.ini
344c344
< log_errors = Off
—
> log_errors = On
390c390
< ;error_log = filename
—
> error_log = /var/log/php.txt
3. apache 재시작 및 log파일 확인
$ sudo /etc/init.d/apache2 restart
$ cat /var/log/php.txt
[19-Feb-2009 06:38:16] PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613+lfs/gd.so’ – /usr/lib/php5/20060613+lfs/gd.so: undefined symbol: gdImageCreateFromJpeg in Unknown on line 0
4. php -m 명령으로 모듈 확인
$ php -m
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613+lfs/gd.so’ – /usr/lib/php5/20060613+lfs/gd.so: undefined symbol: gdImageCreateFromJpeg in Unknown on line 0
[PHP Modules]
bcmath
bz2
calendar
ctype
date
dba
…
5. 라이브러리 확인
$ nm -D /usr/lib/php5/20060613+lfs/gd.so |grep gdImageCreateFromJpeg
U gdImageCreateFromJpeg
U gdImageCreateFromJpegCtx
$ nm -D /usr/lib/libgd.so.2 |grep gdImageCreateFromJpeg
00013230 T gdImageCreateFromJpeg
000129c0 T gdImageCreateFromJpegCtx
000131d0 T gdImageCreateFromJpegPtr
$
libgd.so없는 경우 설치
$ apt-get install libgd2-xpm-dev
6. 라이브러리 위치 확인
$ ldd /usr/lib/php5/20060613+lfs/gd.so
linux-gate.so.1 => (0xb7f47000)
libgd.so.2 => /usr/local/lib/libgd.so.2 (0xb7ee9000)
libt1.so.5 => /usr/lib/libt1.so.5 (0xb7e96000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7e28000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7d41000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7d31000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7d0e000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7cf9000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7cd9000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7b89000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7b64000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7b62000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7b4a000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7b46000)
/lib/ld-linux.so.2 (0xb7f48000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7b42000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7b3d000)
$
7. libgd위치 확인 결과 /usr/local/lib과 /usr/lib에 다른 버전이 있었음.
$ locate libgd (위치 확인)
…
$ cd /usr/local/lib
$ sudo mkdir libgd.backup
$ sudo mv libgd.so* libgd.backup
$ sudo /etc/init.d/apache2 restart
8 . 정상동작 확인
$ php -m
참고사이트 : http://scarybear.net/journal/articles/view/155/
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=470483