웹마스터 팁
하나의 웹서버에 php5, php7 설치하기
2016.06.10 17:14
제목과 같이 apache 웹서버에 php5, php7을 설치하는 방법입니다.
apache를 두개 띄워도되나 포트 사용의 문제가 있기에 아래와 같이 소스를 변경해서 설치했습니다.
이건 오래전에 설치한것이지만 이 기술이 나름 필요한 사람이 있을까봐 올려봅니다.
먼저
php-5 까지는 기존대로 설치한다.
php 7 설치하기
icu4c-4_0_1-src.tgz 를 받아 설치한다. (굳이 설치하라는 문구가 없다면 설치하지 않아도 됩니다.)
./configure --prefix=/usr/local/icu
make
make install
php7 디렉토리로 이동
아래 두개 파일의 내용중 x-httpd-php를 x-httpd-php7으로 변경
main/php.h
sapi/apache2handler/sapi_apache2.c
./configure --prefix=/usr/local/php-7.0.0rc8 --with-apxs2=/usr/local/apache-2.2.14/bin/apxs --enable-magic-quotes --with-iconv --enable-sockets --enable-gd-native-ttf --disable-debug --with-config-file-path=/usr/local/php7-lib --enable-mbstring --with-openssl --enable-ftp --with-zlib --with-zlib-dir=/usr/lib --with-gd --with-freetype-dir=/usr/lib --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-gettext --enable-sysvshm --enable-shmop --with-curl --enable-calendar --enable-exif --with-mcrypt --with-mysqli=mysqlnd --with-pdo-mysql=/usr/local/mysql --enable-zip --with-xmlrpc --enable-soap --enable-intl --enable-bcmath --with-icu-dir=/usr/local/icu
make
make install
apache 설정에서 아래와 같이 추가
여기서 이렇게 설치가 되면 apache가 구동되긴 할것입니다.
문제가 httpd.conf 설정인데 이때 문제가 확장자의 문제가 발생합니다.
이걸 회피하기 위해서 httpd.conf에 php 모듈을 올리지 마시고 .htaccess에 모듈을 아래와 같이 올려주시면됩니다.
php5 사용시 아래
<FilesMatch "\.(php*|phtm|phtml|htm|html|inc|php3)$">
SetHandler application/x-httpd-php
</FilesMatch>
php7 사용시 아래
<FilesMatch "\.(php*|phtm|phtml|htm|html|inc|php3)$">
SetHandler application/x-httpd-php7
</FilesMatch>
디렉토리별로 지정해서 띄울수도 있고 나름 편리함이 있습니다.
이렇게하면 서버 메모리만 받쳐준다면 모든 버전으로 테스트해볼 수 있기도 합니다.