1.의존 라이브러리 설치.

  • php 설치에 앞서 필요한 의존 라이브러리들을 설치합니다.
yum -y install gcc* make libtool-ltdl-devel openssl-devel pcre-devel ncurses-devel libxml2-devel bzip2-devel curl-devel gdbm-devel libjpeg-devel libpng-devel freetype-devel imap-devel libc-client-devel krb5-devel libmcrypt libmcrypt-devel libmhash-devel flex icu libicu libicu-devel gd gd-devel openldap-devel php-devel

2. Libiconv 등 필수 라이브러리 설치

  • php 설치에 앞서 make 파일 생성(compile) 에 필요한 라이브러리들을 다운받고 설치합니다.
cd /home1/username/stage
sudo wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
sudo tar xvzf libiconv-1.15.tar.gz
cd libiconv-1.15
sudo ./configure --prefix=/usr/local/
sudo make && make install

# PHP 설치시 –with-ldap 옵션을 사용하기위해 아래와 같이 심볼릭 링크를 추가시켜 줍니다.

ln -s /usr/lib64/libldap.so /usr/lib/libldap.so

ln -s /usr/lib64/libldap_r.so /usr/lib/libldap_r.so

3. php 소스 파일 다운 후 configure 실행

http://php.net/downloads.php 사이트에 접속 후 php 다운로드

  • php-x.x.x.tar.gz 파일은 커스텀 설치가 가능한 소스파일입니다.
  • configure는 make 파일을 생성해주는 파일입니다. 생성된 make파일을 통해 컴파일을 진행할 것입니다.
  • configure에 다양한 옵션을 넣어주어 (경로지정, db지정, 라이브러리 연동 등) make파일을 생성하여 줍니다.
# 압축 해제 후
cd /home1/username/stage/php-7.X.X

sudo ./configure \
-prefix=/home1/username/apps/php7.1 \
-with-config-file-path=/home1/username/apps/php7.1/etc \
-disable-debug \
-enable-fpm \
-enable-bcmath \
-enable-exif \
-enable-ftp \
-enable-gd-native-ttf \
-enable-inline-optimization \
-enable-intl \
-enable-mbregex \
-enable-mbstring \
-enable-mod-charset \
-enable-sigchild \
-enable-soap \
-enable-sockets \
-enable-sysvsem=yes \
-enable-sysvshm=yes \
-enable-xml \
-enable-zip \
-with-bz2 \
-with-iconv=/usr/local \
-with-curl \
-with-zlib \
-with-gd \
-with-gettext \
-with-mcrypt \
-with-mhash \
-with-pdo-mysql \
-with-mysqli \
-with-openssl \
-with-xmlrpc \
-with-freetype-dir=/usr/lib64 \
-with-jpeg-dir=/usr/lib64 \
-with-libxml-dir=/usr/lib64 \
-with-png-dir=/usr/lib64 \
-with-zlib-dir=/usr/lib64 \
-with-fpm-user=username \
-with-fpm-group=username \
-with-ldap

#... 기타 옵션이 필요할경우 추가.

**####만약 configure 컴파일 도중 오류가 난다면, library경로나 설치가 제대로 안되어있는것!**
==================오류 해결 =================================
#iconv 오류
iconv 라이브러리의 경로를 확인해볼것!!(아니면 재설치)

#ldap.h 오류
sudo yum install openldap-devel

#Cannot find ldap libraries in /usr/lib. 오류
sudo cp -frp /usr/lib64/libldap* /usr/lib/


==============================================================

4. configre 실행 성공 및 make 파일 생성 완료

  • Thank you for using php라는 메세지가 뜨면 성공적으로 만들어진 것입니다.

5. make 및 make install 진행.

sudo make
sudo make install

6. php.ini파일 을 nginx로 복사하여준다.

sudo cp /home1/username/stage/php-7.2.3/php.ini-development /home1/username/apps/nginx/conf/php.ini


설치법 - nginx와 php연동

nginx는 php-fpm이 설치되어 있어야 연동이 가능합니다.

1. conf 파일 원본 복사

cd /home1/username/apps/php/etc/
sudo cp -arp php-fpm.conf.default ./php-fpm.conf

2. www.conf 복사

cd /home1/username/apps/php/etc/php-fpm.d/
sudo cp www.conf.default www.conf

3. php-fpm실행

sudo /home1/username/apps/php/sbin/php-fpm

-> php-fpm실행시 오류가 안나야함


4.nginx.conf 파일 수정

->nginx와 php가 연동할 수 있도록 nginx파일을 수정하도록 합니다.

sudo vi /home1/username/apps/nginx/conf/nginx.conf
# 주석 해제후 수정 또는 아래 내용 삽입

location \~ .php$ {
            root           /home1/username/apps/nginx/html;
            fastcgi\_pass   127.0.0.1:9000;
            fastcgi\_index  index.php;
            fastcgi\_param  SCRIPT\_FILENAME  $document\_root$fastcgi\_script\_name;
            include        fastcgi\_params;
        }

5. php 구동 테스트

cd /home1/username/apps/nginx/html
echo "<?php phpinfo(); ?>" >> phpinfo.php

-> phpinfo 창이 정상적으로 뜨게되면 연동에 성공!

+ Recent posts