Code/PHP

php v8.4 설치

codens 2025. 11. 2. 18:07


ubuntu, php 8.3 ->  php 8.4 로 업그레이드 방법


    - 기본 패키지 정보 업데이트
sudo apt update
sudo apt install -y software-properties-common ca-certificates lsb-release apt-transport-https
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update

     - php 8.4 설치
sudo apt install php8.4 php8.4-cli php8.4-fpm php8.4-common  php8.4-redis  php8.4-zip php8.4-mbstring  php8.4-bz2 php8.4-curl php8.4-gd  php8.4-gmp php8.4-intl php8.4-opcache  php8.4-mysql php8.4-bcmath php8.4-sqlite3 php8.4-tidy  php8.4-xsl  php8.4-xml

     - php 기본 버전 변경
sudo update-alternatives --config php

          - 설치시 자동 등록 되지만 만약 등록되어 있지 않다면 다음 명령으로 등록
     sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.4 84


php -v

//-------------------------------------
    - php.ini 설정 수정
sudo nano /etc/php/8.4/fpm/php.ini
sudo nano /etc/php/8.4/cli/php.ini - extension은 수정하지 않는다.


//
post_max_size = 150M
extension_dir = "ext"  ; 윈도우에서만
upload_max_filesize = 150M

date.timezone = Asia/Seoul

opcache.enable=1

; 추가
opcache.jit_buffer_size=512M
opcache.jit=tracing


//
; 메모리 제한 (큰 HTML 문서 처리 시)
memory_limit = 256M

; libxml 설정 - 외부 리소스(URL, 파일 등)를 로드할 때 HTTP 헤더, 타임아웃, SSL 옵션 등을 세부설정 가능
libxml.streams_context_options = 1


    - extension 주석처리 수정
bz2 , curl, fileinfo, gd, gettext, gmp, intl, mbstring, exif, mysqli, openssl, pdo_mysql, sockets, sodium, tidy, xsl, zip, sqlite3, opcache

---------------------------------------
     - php.ini 설정 오류 검사
php -v
          - 설정파일 오류시 오류 메시지 출력됨

 


--------------------------------------
* fpm process manager(pm) 옵션 설정
https://codens.tistory.com/2725

sudo nano /etc/php/8.4/fpm/pool.d/www.conf

    - 이전 서버 설정값 참고

    - 예시
pm.max_children = 20
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10


//-------------------------------------
    - nginx 설정 수정
sudo nano /etc/nginx/sites-enabled/default
php8.3-fpm.sock => 8.4


    - 재시작
sudo systemctl stop nginx php8.3-fpm  php8.4-fpm
sudo systemctl restart nginx php8.4-fpm

- 브라우저에서 검사
<?php phpinfo(); ?>

-------------------------------------------------------------------------------
라라벨 사용자 


    - compoer 자체 버전 업그레이드
$ sudo composer self-update

     - 라라벨 폴더로 이동
$ sudo chown www-data:www-data . -R
$ composer update

 

        - ezyang/htmlpurifier 관련 에러가 발생한다면 해당 폴더 삭제후 다시 update 시도

$ sudo rm -fr ./vendor/ezyang

 

 

-------------------------------------------------------------------------------

< SSL 인증서 설정 >
    - (로컬개발환경에서) curl 관련 SSL 인증서 오류(AWS S3 업로드 에러)등이 발생하는 경우 인증서 설정

# 인증서 다운로드
https://curl.se/ca/cacert.pem


# php.ini 설정 파일 수정

[curl]
curl.cainfo = "C:\php\extras\ssl\cacert.pem"

[openssl]
openssl.cafile = "C:\php\extras\ssl\cacert.pem"

 

 

반응형