워드프레스7 php 8.5 업데이트

이번 워드프세르 7.0이 업데이트 되면서 시스템 업데이트도 같이 진행했습니다.

리눅스 시스템 업데이트 하기

당시 업데이트를 참고하여 업데이트 했구요.

먼저 작업전 백업이 필수적입니다.

먼저 apt를 업그레이드 해주구요.

sudo apt update && sudo apt -y upgrade

DB는 위 링크를 참고하셔도 되는데, 현재 11.4라서 아직은 현역이라 그냥 두었습니다. DB 백업 후 업그레이드를 진행하면 되니다.

aphpm01
mysqldump -u root -p --all-databases > serv_bak.sql

sudo service mysql stop

sudo apt remove mariadb-server mariadb-client

참고하시어 업데이트 합니다.

1.공식 MariaDB 저장소(Repository) 추가:1분 소요.현재 시스템에 맞는 최신 공식 MariaDB APT 저장소 스크립트를 다운로드하여 등록합니다. (보편적이고 안정적인 11.4 LTS 버전을 추천합니다.)Bashcurl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s — –mariadb-server-version=”11.4″
2.기존 MariaDB 서비스 중지:즉시.패키지 충돌을 방지하기 위해 현재 돌고 있는 구버전 데이터베이스 엔진을 안전하게 멈춥니다.Bashsudo systemctl stop mariadb
3.MariaDB 최신 패키지 설치:2분 소요.저장소 목록을 갱신한 뒤, 최신 버전의 서버 및 클라이언트 패키지를 설치합니다. 이 과정에서 기존 구버전 패키지는 자동으로 교체됩니다.Bashsudo apt update
sudo apt install -y mariadb-server mariadb-client
*(설치 중 설정 파일(my.cnf)을 덮어쓸지 물어보는 안내가 나오면, 기존 커스텀 설정을 유지하기 위해 *N(기본값 유지)을 선택하는 것이 좋습니다.)4.서비스 시작 및 자동 시작 등록:즉시.설치가 완료되면 새 버전의 데이터베이스 엔진을 구동하고, 서버 부팅 시 자동으로 켜지도록 설정합니다.Bashsudo systemctl enable mariadb
5.워드프레스 데이터베이스 스키마 업그레이드:1분 소요.가장 중요한 단계입니다. 엔진 버전이 올라갔으므로, 기존 워드프레스 테이블 구조와 시스템 권한 테이블을 새 엔진 버전에 맞게 내부 호환성 마이그레이션을 진행합니다.Bashsudo mariadb-upgrade -u root -p
결과 메시지에 Phase 4/4: Running ‘mysql_fix_privilege_tables’… OK 형태의 문구가 보이면 성공입니다.

PHP 8.5 업데이트

이번에는 PHP를 업데이트 하겠습니다.

sudo apt install -y php8.5-{fpm,gd,mysql,curl,mbstring,intl,imagick,xml,zip}

명령어 준 바뀐 것은 OPcache가 내장으로 변경되면서 사라졌습니다. 각 패키지의 주요 기능은 아래와 같습니다.

fpm: Nginx 등과 연동하기 위한 프로세서 매니저

gd, imagick: 워드프레스 미디어 라이브러리 이미지 리사이징 및 섬네일 생성 필수 모듈

mysql: 데이터베이스(MySQL/MariaDB) 연동

curl: 워드프레스 알림판 외부 통신 및 플러그인 업데이트 연동

mbstring, intl: 다국어(한국어) 처리 및 문자열 인코딩

xml, zip: 테마/플러그인 업로드 및 압축 해제, XML-RPC 통신

opcache: PHP 스크립트를 컴파일된 상태로 메모리에 캐싱하여 사이트 속도를 획기적으로 올려주는 필수 성능 모듈로 내장

그리고 옵션을 수정해야 하는데요.

vi 사용하시면 /를 통해서 검색후 엔터하면 해당 위치로 키가 고정되니 i누르면 편집모드로 편집 후에 esg 누르면 나가고 :wq누르면 저장됩니다.

vi /etc/php/8.5/fpm/php.ini

short_open_tag = Off          ; 최신 PHP에서는 Off 지향 (필요시 On)
max_execution_time = 300      ; 서버 먹통 방지를 위해 5분으로 현실화
max_input_time = 300          ; 위와 동일
memory_limit = 256M           ; 대형 플러그인/테마 안정적 구동
post_max_size = 100M          ; 업로드 용량 일치
upload_max_filesize = 100M    ; 고화질 미디어 업로드 허용
cgi.fix_pathinfo = 0          ; Nginx 우회 스크립트 실행 실행 차단 (보안 필수)
allow_url_fopen = Off         ; 원격 파일 실행 차단 (정품인증 에러시에만 On)
date.timezone = Asia/Seoul    ; 예약 발행 및 로그 시간 동기화
aphpm02

이 후 수정이 완료되었다면 활성화하고 www.conf를 수정해줍니다.

listen을 활성화해서 8.5를 바라보도록 합니다.

systemctl enable php8.5-fpm
sudo systemctl start php8.5-fpm

listen = 127.0.0.1:9000

sudo vi /etc/php/8.3/fpm/pool.d/www.conf
sudo vi /etc/php/8.5/fpm/pool.d/www.conf
aphpm03

여기까지 완료되면 이제 fpm을 재시작하구요.

sudo systemctl restart php8.3-fpm.service
sudo systemctl restart php8.5-fpm.service
aphpm04

잘 실행되는걸 보면 8.3을 삭제해 줍니다.

서비스 상태 확인하고 이제 8.3 관련 패키지를 삭제해줍니다.

service --status-all
sudo apt remove php8.3-*

완전 삭제는 purge를 통해서 삭제해야 합니다.

sudo apt purge -y php8.0-fpm php8.0-*

그럼 잘 사용하시기 바랍니다.

  이 사이트는 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

Leave a Comment