어제 php 7.4 버전이 출시 되었는데, nginx 기반에서의 업그레이드 방법을 공유하려고 함.

 

7.4 버전에서 달라진 점.

https://stitcher.io/blog/new-in-php-74

 

What's new in PHP 7.4 - stitcher.io

A to-the-point list of features, changes and deprecations in PHP 7.4, available as of November 28, 2019

stitcher.io

 

 

우선 7.4 설치는 이렇다.

add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php7.4 php7.4-fpm php7.4-mysql php7.4-mbstring php7.4-curl php7.4-zip php7.4-intl

 

이후 nginx 설정을 수정한다.

 

cd /etc/nginx/sites-available

vi default
(설정한 곳의 위치는 다를 수 있다.)

.
.
.
location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
            return 404;
    }
    fastcgi_pass unix:/run/php/php7.4-fpm.sock; (이 부분을 수정한다.)
    fastcgi_index index.php;
    include fastcgi_params;
}
.
.
.

 

다음엔 php-fpm stop & start

service php7.3-fpm stop 
service php7.4-fpm start

 

하고, 하기전에 꼭

/etc/php/7.4/cli/php.ini 
/etc/php/7.4/fpm/php.ini

를 기존 설정에 맞춰 수정해준다. (필자 보통 datezone 이랑,, short_tag, 파일 업로드 관련 설정만 한다.)

 

 

++ 추가로 7.4 버전 부터는 JIT 지원한다고 하는데 디폴트로 비활성화 되어있으니

사용하려면 이렇게 설정값을 해줘야한다.

 

(해당 설정은 좀 더 조사를 해봐야할듯 싶다. https://wiki.php.net/rfc/jit)

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

해당 라인 밑에 opcache 에 대한 버퍼 사이즈도 설정이 가능하다.

 

 

nginx 재시작.

nginx -s reload

 

해주면 끝난다.

 

마지막으로 7.3 버전 삭제.

apt-get remove php7.3 php7.3-fpm php7.3-mysql php7.3-mbstring php7.3-curl php7.3-zip php7.3-intl