php v8.4 설치
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"