Jiniya

WEB

APACHE에 PHP 2개 이상 설치

CentOS 소스 컴파일 기준으로 간략하게 설명드립니다. 


1. Apache 2.4버젼 기준 

# ./configure 
--prefix=/usr/local/httpd-2.4.20 
--enable-proxy [추가] 
............ 


2. PHP 7.0.5 설치 

# ./configure 
--prefix=/usr/local/php-7.0.5 
--with-config-file-path=/usr/local/php-7.0.5 
--with-apxs2=/usr/local/apache/bin/apxs [꼭 삭제 하세요] 
--with-fpm-user=nobody [추가] 
--with-fpm-group=nobody [추가] 
--enable-fpm [추가] 
............. 

# cp php.ini-production /usr/local/php-7.0.5/lib/php.ini 
# cp /usr/local/php-7.0.5/etc/php-fpm.conf.default /usr/local/php-7.0.5/etc/php-fpm.conf 
# cp /usr/local/php-7.0.5/etc/php-fpm.d/www.conf.default /usr/local/php-7.0.5/etc/php-fpm.d/www.conf [포트 설정 : 9700 으로 변경] 
# cp sapi/fpm/init.d.php-fpm /usr/local/php-7.0.5/bin/php-fpmctl 
# chmod 700 /usr/local/php-7.0.5/bin/php-fpmctl 

# ln -s /usr/local/php-7.0.5/bin/php-fpmctl /etc/rc.d/init.d/php-fpmctl70 
# chkconfig php-fpmctl70 on 
# service php-fpmctl70 start 


3. PHP 5.6.20 설치 

# ./configure 
--prefix=/usr/local/php-5.6.20 
--with-config-file-path=/usr/local/php-5.6.20 
--with-apxs2=/usr/local/apache/bin/apxs [꼭 삭제 하세요] 
--with-fpm-user=nobody [추가] 
--with-fpm-group=nobody [추가] 
--enable-fpm [추가] 
............. 

# cp php.ini-production /usr/local/php-5.6.20/lib/php.ini 
# cp /usr/local/php-5.6.20/etc/php-fpm.conf.default /usr/local/php-5.6.20/etc/php-fpm.conf 
# cp /usr/local/php-5.6.20/etc/php-fpm.d/www.conf.default /usr/local/php-5.6.20/etc/php-fpm.d/www.conf [포트 설정 : 9560 으로 변경] 
# cp sapi/fpm/init.d.php-fpm /usr/local/php-5.6.20/bin/php-fpmctl 
# chmod 700 /usr/local/php-5.6.20/bin/php-fpmctl 

# ln -s /usr/local/php-5.6.20/bin/php-fpmctl /etc/init.d/php-fpmctl56 
# chkconfig php-fpmctl56 on 
# service php-fpmctl56 start 


4. apache/conf/extra/httpd-vhost.conf 설정 

〈VirtualHost *:80〉 
DocumentRoot "/home/test/public_html/" 
ServerName test.test.kr 
# ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9700/home/test/public_html/$1 [추가] 
SetHandler "proxy:fcgi://127.0.0.1:9700/" [추가 : http://test.kr/~test 사용시] 
........... 
〈/VirtualHost〉 

〈VirtualHost *:80〉 
DocumentRoot "/home/test2/public_html/" 
ServerName test2.test.kr 
# ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9560/home/test2/public_html/$1 [추가] 
SetHandler "proxy:fcgi://127.0.0.1:9560/" [추가 : http://test.kr/~test 사용시] 
........... 
〈/VirtualHost〉 

설정하시고 아파치 스타트 하면 됩니다. 


ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9560/home/test2/public_html/$1 이 정상적으로 출력되지 않을 경우 
SetHandler "proxy:fcgi://127.0.0.1:9560/" 를 사용하세요..(개인적으로 권장) 


위의 방법으로 한서버에 여러 php버젼을 운영할 수 있습니다.

 

출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=80759