Monthly Archives: April 2009

CentOS 4에서 PHP 5와 XCache 소스로 설치

lighttpd와 병행하여 쓰고 있는데, CentOS 4 버전에서는 SRPM이 PHP4 버전이 디폴트로 되어 있어서, PHP5는 소스를 받아서 설치했습니다. ./configure할때 인자주는게 생각처럼 되지 않아서 좀 헤맸습니다. 오랜만에 PHP 소스를 직접 받아서 설치해봤습니다.

./configure –enable-fastcgi –enable-discard-path
–enable-force-cgi-redirect –with-mysql=/usr/bin/ –with-libdir=lib64  …기타 라이브러리 설정

앞에 –enable-fastcgi enable-discard-path
–enable-force-cgi-redirect 부분은 lighttpd와 fastcgi와 연동하기 위해서 필요한 부분입니다.

–with-mysql=/usr/bin/ –with-libdir=lib64는 mysql 모듈을 사용하도록 한것인데, 64bit MySQL 라이브러리가 깔려있어서 –with-mysql 옵션만 주면 mysql 라이브러리를 못찾더군요.

예전에 SRPM을 설치하면서 필요한 devel 패키지들은 모두 설치되어있어서 따로 yum을 통한 패키지 설치는 없었습니다 ^^

설치는 간단히 sapi/cgi/php-cgi를 /usr/local/bin 쪽에 복사하고, /usr/local/lib/php.ini를 적당히 만들어주고, lighttpd.conf에서 새로운 php-cgi 참조하도록 변경했습니다.

웹서버 재시작하여 정상동작하는거 확인하고 make install하고, 전에 사용하던 PHP관련 RPM들을 삭제했습니다. 컴파일할때 RPM도 같이 설치되어 있으면 문제가 생기더군요.

XCache 소스 받아서 압축풀고 아래대로 했습니다.

$ phpize
$ ./configure --enable-xcache
$ make
$ sudo -s
# make install
# cat xcache.ini >> /usr/local/etc/php.ini
# vi /usr/local/etc/php.ini


php.ini 파일에서 zend_externsion에서 xcache.so 참조하는 부분이 있는데 경로에서 버전정보를 수동으로 고쳐야합니다.

zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so
   →
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20060613/xcache.so


웹서버 재시작하고 phpinfo() 호출해서 출력하면 xcache 정상 동작하는거 확인할수 있습니다.