Programming PHP CentOS 7 에서 PHP 7 설치하기

CentOS 7 에서 PHP 7 설치하기

nginx 설치 : https://blog.bypass.sh/134
MariaDB 설치 : https://blog.bypass.sh/243

http://php.net/archive/2015.php#id2015-12-03-1   한국 날짜로 12월 4일 PHP 7.0.0 릴리즈

 

1. PHP 7.0.0 설치 방법

yum install -y epel-release
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum --enablerepo=remi update remi-release
yum --enablerepo=remi-php70 install -y php php-fpm php-mysql

( php 7.1.x 설치 yum --enablerepo=remi-php71 install -y php php-fpm php-mysql )

php7-version

php -v  PHP 7.0.0 설치 완료

systemctl start php-fpm   // php 시작 
systemctl enable php-fpm  // php 부팅시 자동 실행
systemctl status php-fpm  // php 상태 확인
systemctl stop php-fpm    // php 정지

 

2. php.ini 설정

vi /etc/php.ini
cgi.fix_pathinfo = 0

allow_url_fopen = Off

expose_php = Off

display_errors = Off

 

3. www.conf 설정

vi /etc/php-fpm.d/www.conf
user = nginx
group = nginx 

listen.owner = nobody
listen.group = nobody

// 앞에 주석 ; 을 지워주면 됩니다.

위와 같이 설정 후 저장하고 php 시작 – systemctl start php-fpm

 

4. nginx – php 연동 설정

vi /etc/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

▲ nginx 1.8.0 default.conf 기본 설정

 

 server {
listen       80;
server_name  localhost mydomain.com sub.domain.com;
#charset koi8-r;
#access_log  /var/log/nginx/log/host.access.log  main;

 

root        /usr/share/nginx/html;
index       index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
    location ~ \.php$ {
        try_files      $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
#location ~ /\.ht {
#    deny  all;
#}
}

▲ nginx-php default.conf 설정 수정

위와 같이 빨간색 글씨부분을 바꾼 후 저장하고 ( server_name 에 자기 도메인 or IP ) nginx 를 시작해준다.
nginx 가 이미 실행중이라면 재시작해야 설정이 적용된다.  systemctl reload nginx

 

4. nginx – php 가 제대로 연동됐는지 확인

vi /usr/share/nginx/html/phpinfo.php
<?php
phpinfo();
?>

입력하고 저장

 

php7_info

http://자기 도메인 or IP/phpinfo.php 로 접속했을때 위와 같이 뜨면 제대로 설치된 것.
확인 됐으면 phpinfo 파일은 삭제 rm -f /usr/share/nginx/html/phpinfo.php


4 COMMENTS

  1. 이 포스트 보고 따라했지만 초보자인 저는 설치 실패 했습니다.
    일단 이 포스트대로 하면 설치 와 php 연동가지는 됩니다.
    하지만 phpmyadmin 다운받아서 접속하면 에러뜹니다.
    (물론 php.ini 에서 display_errors = On 했을시)
    그래서 검색해보니 php-mbstring 설치가 안되어서 에러뜨는것 같아
    php 삭제후 php-mbstring 설치 후 phpmyadmin 접속하니 로그인 되네요
    하지만 그누보드 설치시 자동 가입 방지를 위한 캡차 파일이 뜨지 않습니다.
    그래서 다시 php-gd 설치 후 해결을 했습니다.
    아마 php-curl 도 설치를 해야 될듯 하구요

    초보인 제가 이글 보고 따라하며 엄청 삽질 했네요..
    이왕이면 이글에 그누보드, XE, 워드프레스 설치 되는
    nginx, php-fpm7.0.X 설치법이 소개 되었으면 좋겠네요

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.