워드프레스 PHP 8 업그레이드

워드프레스 웹사이트의 PHP 버전을 PHP 8 이상으로 업그레이드하는 것은 성능 향상과 보안 강화를 위해 매우 중요합니다. 하지만 과정에서 문제가 발생할 수 있으므로 신중하게 진행해야 합니다. 다음은 자세한 업그레이드 방법입니다.

워드프레스 PHP 8 업그레이드 전 반드시 확인해야 할 사항

  1. 워드프레스 및 테마, 플러그인 호환성 확인:
    • PHP 8은 이전 버전과 문법적으로 차이가 있어 오래된 테마나 플러그인에서 오류가 발생할 수 있습니다.
    • 현재 사용 중인 워드프레스 코어 버전, 테마, 모든 플러그인이 PHP 8.x (8.0, 8.1, 8.2, 8.3 등)와 호환되는지 확인해야 합니다. 대부분의 최신 워드프레스 버전은 PHP 8.1, 8.2와 호환되며, 8.3 이상은 베타 지원 상태인 경우가 많습니다.
    • 각 테마 및 플러그인 개발자 웹사이트에서 PHP 8 호환성 정보를 확인하거나, 해당 플러그인의 공식 워드프레스 저장소 페이지에서 “호환되는 버전” 정보를 확인하세요. 오래된 플러그인이나 테마는 업데이트하거나 대안을 찾아야 할 수 있습니다.
  2. 모든 백업:
    • 가장 중요합니다. PHP 버전 변경은 웹사이트에 치명적인 오류를 발생시킬 수 있으므로, 반드시 **데이터베이스(DB)와 파일(워드프레스 설치 폴더 전체)**을 완벽하게 백업해야 합니다.
    • 백업 방법:
      • 호스팅 업체 제공 백업 기능 활용: 대부분의 호스팅 업체는 자체 백업 기능을 제공합니다. 이를 통해 웹사이트 전체를 백업하세요.
      • 워드프레스 백업 플러그인 사용: UpdraftPlus, All-in-One WP Migration 등 신뢰할 수 있는 백업 플러그인을 사용하여 데이터베이스와 파일을 모두 백업하고 로컬 PC나 클라우드 저장소에 보관하세요.
      • 수동 백업: FTP로 접속하여 워드프레스 파일 전체를 다운로드하고, phpMyAdmin 등을 통해 데이터베이스를 덤프(Export)하여 백업할 수 있습니다.
  3. 사이트 건강 확인:
    • 워드프레스 관리자 페이지에서 “도구” > “사이트 건강”으로 이동하여 현재 워드프레스의 상태를 확인합니다. 여기서 PHP 버전, 필수 모듈 여부 등을 미리 확인할 수 있습니다.

워드프레스 PHP 8 업그레이드 단계

PHP 버전 업그레이드는 호스팅 환경에 따라 방법이 다릅니다.

방법 1: 공유 호스팅 또는 매니지드 워드프레스 호스팅 (가장 일반적)

대부분의 웹호스팅 업체는 제어판(cPanel, Plesk 등) 또는 자체 관리 페이지를 통해 PHP 버전을 쉽게 변경할 수 있는 기능을 제공합니다.

  1. 호스팅 계정 로그인: 사용하는 호스팅 업체의 웹사이트에 로그인합니다.
  2. PHP 버전 변경 메뉴 찾기:
    • 일반적으로 “호스팅 관리”, “PHP 설정”, “MultiPHP Manager”, “PHP 버전 변경” 등의 메뉴를 찾습니다.
    • 예시: 카페24의 경우 “호스팅관리” > “연장/변경/추가옵션” > “변경신청” 또는 “서버환경 변경” 메뉴에서 PHP 버전을 변경할 수 있습니다.
  3. PHP 8.x 버전 선택: 사용 가능한 PHP 버전 목록에서 PHP 8.x (예: 8.1, 8.2)를 선택합니다. 처음에는 가장 낮은 PHP 8 버전(예: 8.0 또는 8.1)부터 시작하여 문제가 없는지 확인하고 점차 높은 버전으로 올리는 것을 권장합니다.
  4. 변경 사항 적용 및 확인: 변경 사항을 저장하고 웹사이트를 새로 고침하여 정상적으로 작동하는지 확인합니다. 변경 후 사이트가 깨지거나 오류가 발생하면 즉시 이전 PHP 버전으로 되돌리세요.
  5. 워드프레스 사이트 건강 확인: 워드프레스 관리자 페이지 “도구” > “사이트 건강”에서 PHP 버전이 성공적으로 변경되었는지 다시 확인합니다.

방법 2: VPS, 클라우드 서버 (직접 서버를 관리하는 경우)

Ubuntu, CentOS 등 리눅스 서버에서 직접 PHP를 설치하고 관리하는 경우입니다. 이 방법은 서버 관리 경험이 필요하며, 잘못 설정할 경우 서버 전체에 영향을 줄 수 있습니다.

  1. 서버 접속 (SSH): PuTTY 또는 터미널을 사용하여 SSH로 서버에 접속합니다.
  2. 패키지 업데이트:Bashsudo apt update && sudo apt upgrade -y # Ubuntu/Debian 계열 sudo yum update -y # CentOS/RHEL 계열
  3. PHP 8.x 설치:
    • Ubuntu/Debian (Ondrej PPA 사용 권장):Bashsudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl # 필요한 모듈 포함하여 설치 (위 예시는 PHP 8.2이며, 8.0, 8.1, 8.3 등으로 변경하여 설치할 수 있습니다.)
    • CentOS/RHEL (REMI 리포지토리 사용 권장):Bashsudo dnf install epel-release sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm # CentOS 8 기준 sudo dnf module enable php:remi-8.2 # PHP 8.2 활성화 sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip php-intl # 필요한 모듈 포함하여 설치
  4. 웹 서버 설정 변경 (Apache 또는 Nginx):
    • Apache2:mod_php 또는 php-fpm을 사용하여 PHP를 실행하도록 설정 파일을 수정합니다. mpm_event를 사용하는 경우 php-fpm을 사용하는 것이 일반적입니다.
      • PHP 8.x FPM 사용 설정:Bashsudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.2-fpm # php8.2-fpm으로 변경 sudo a2dismod php7.4 # 이전 PHP 버전 비활성화 (선택 사항) sudo systemctl restart apache2
    • Nginx: Nginx 설정 파일에서 PHP FPM 소켓 경로를 PHP 8.x 버전으로 변경합니다.Nginx# 예시: Nginx 설정 파일 (nginx.conf 또는 sites-available/default) location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; # PHP 8.2 소켓 경로로 변경 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 변경 후 Nginx 재시작:Bashsudo systemctl restart nginx
  5. PHP 버전 확인:Bashphp -v 명령어를 통해 PHP 8.x 버전이 올바르게 설치되었는지 확인합니다.
  6. 워드프레스 사이트 확인: 웹사이트에 접속하여 정상적으로 작동하는지 확인합니다.

업그레이드 후 발생할 수 있는 문제 및 해결 방법

PHP 버전 업그레이드 후 웹사이트에 문제가 발생할 수 있습니다.

  1. 흰색 화면 (White Screen of Death – WSOD):
    • 가장 흔한 오류입니다. 호환되지 않는 테마나 플러그인, 또는 PHP 오류로 인해 발생합니다.
    • 해결:
      • wp-config.php 파일에 디버그 모드 활성화:PHPdefine( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); wp-content 폴더에 debug.log 파일이 생성되어 오류 메시지를 확인할 수 있습니다.
      • 모든 플러그인 비활성화: FTP를 통해 wp-content/plugins 폴더 이름을 임의로 변경하여 모든 플러그인을 비활성화한 후, 사이트가 복구되는지 확인합니다. 그 후에 플러그인을 하나씩 활성화하면서 문제의 플러그인을 찾습니다.
      • 테마 변경: 현재 테마 대신 기본 테마(Twenty Twenty-Four 등)로 변경하여 문제가 해결되는지 확인합니다.
      • PHP 버전 다운그레이드: 백업이 어렵거나 문제 해결이 안 되면, 즉시 이전 PHP 버전으로 되돌립니다.
  2. 사이트 속도 저하:
    • 간혹 PHP 버전 변경 후 속도 문제가 발생할 수 있습니다.
    • 해결: 캐싱 플러그인 (LiteSpeed Cache, WP Super Cache 등) 설정을 다시 확인하고, 이미지 최적화 등을 점검합니다.
  3. 특정 기능 작동 안 함:
    • 문의 양식, 갤러리 등 특정 플러그인 기능이 작동하지 않을 수 있습니다.
    • 해결: 해당 플러그인의 최신 버전으로 업데이트하고, 설정이 올바른지 확인합니다. 개발자에게 문의하거나 대체 플러그인을 찾아봅니다.
  4. php.ini 설정 문제:
    • PHP 메모리 제한, 실행 시간 제한 등이 부족하여 문제가 발생할 수 있습니다.
    • 해결: php.ini 파일에서 memory_limit, max_execution_time, upload_max_filesize 등을 워드프레스 권장 사양에 맞게 늘려줍니다. (호스팅 업체 정책에 따라 직접 수정이 불가능할 수 있습니다.)

팁:

  • 스테이징(Staging) 환경 활용: 가능하다면 실제 운영 사이트가 아닌 별도의 스테이징 환경에서 먼저 PHP 업그레이드를 테스트하는 것이 가장 안전합니다.
  • 워드프레스 코어, 테마, 플러그인 최신 상태 유지: PHP 업그레이드 전에 워드프레스와 모든 구성 요소를 최신 버전으로 업데이트하는 것이 좋습니다. 최신 버전은 PHP 8과의 호환성을 개선합니다.
  • 오류 로그 확인: 웹 서버 오류 로그(error_log 또는 웹호스팅 제어판의 오류 로그)를 주기적으로 확인하여 문제 발생 시 원인을 파악합니다.

PHP 8 업그레이드는 워드프레스 웹사이트의 성능과 보안을 크게 향상시킬 수 있는 중요한 단계입니다. 충분한 준비와 신중한 접근을 통해 성공적으로 업그레이드를 완료하시길 바랍니다.