PHP 실무

PHP 4/5 코드를 최신 7/8 서버에서 돌릴 때 체크리스트

프리터코더 2026. 9. 18. 14:07

구버전 숙박예약 시스템을 새 서버로 옮기는 순간, 연속 에러가 터졌습니다. 로그인 안 됨, 예약 조회 실패, 결제 모듈 오류…
단순히 파일만 복사하면 되겠지 싶었는데, 현실은 달랐습니다. 서버 전환은 단순히 옮기는 게 아니라 전체 확인 절차가 필요합니다.

PHP 4/5 시절 코드는 2000년대 중후반 개발 관습을 그대로 담고 있습니다. 당시엔 괜찮았지만, PHP 7/8 환경에서는 수많은 기능이 삭제되거나 동작이 바뀌었죠.
호스팅 회사가 "서버 업그레이드합니다"라는 메일을 보내면, 그때부턴 시한폭탄입니다. 준비 없이 이전하면 사이트가 멈춥니다.

실제로 어떤 숙박업체는 오래된 예약 시스템을 새 서버로 이전하면서, mysql_* 함수 문제, 세션 경로 설정 차이, 파일 업로드 제한 변경 등이 한꺼번에 터지며 며칠간 예약을 받지 못한 사례도 있었습니다. 매출 손실은 물론, 고객 신뢰까지 잃었죠.

서버 전환 전, 반드시 확인해야 할 체크리스트를 정리했습니다.

1. PHP 버전 확인 및 호환성 체크

  • 현재 서버와 신규 서버의 PHP 버전 비교
  • phpinfo() 파일로 확장 모듈 목록 비교 (GD, mbstring, curl, mysqli 등)

2. 폐기된 함수 검색

  • mysql_* 함수 사용 여부 검색 → mysqli 또는 PDO로 교체
  • ereg, split, each(), create_function() 사용 여부 확인 → preg_*, foreach, function() 으로 교체
  • 에디터의 전역 검색으로 위 함수명 찾기

3. php.ini 설정 비교

  • upload_max_filesize, post_max_size, memory_limit 확인
  • error_reporting 레벨 확인 (개발 서버는 E_ALL, 운영 서버는 E_ALL & ~E_NOTICE 등)
  • session.save_path, date.timezone 설정 확인

4. 데이터베이스 연결 및 문자셋

  • MySQL 버전 확인 (5.x → 8.x로 올라가며 문법 변화)
  • Collation 설정 (utf8mb4 권장)
  • DB 접속 정보 (호스트, 포트, 계정) 재확인

5. 파일 권한 및 경로

  • 업로드 디렉토리, 캐시 디렉토리 쓰기 권한 확인 (보통 755 또는 777)
  • 절대 경로 vs 상대 경로 체크 (include, require 경로 오류 많음)

6. .htaccess 및 웹서버 설정

  • Apache → Nginx로 바뀌면 .htaccess 무효
  • URL 리라이팅 규칙 동작 확인

7. 외부 API 및 라이브러리

  • PG(결제) 모듈, 문자 발송, 이메일 서버 연동 테스트
  • SSL 인증서 재설치 여부

8. 실전 테스트

  • 회원가입/로그인, 게시판 글쓰기, 결제 프로세스 전 과정 점검
  • 에러 로그 실시간 모니터링

실무 팁

  • 새 서버에서 먼저 테스트 도메인(예: test.example.com)으로 구동해보세요. 문제가 없으면 그때 본 도메인을 연결하세요.
  • 백업은 필수입니다. DB 덤프, 파일 전체 압축본을 로컬에 보관하세요.
  • 이전 직후 최소 1주일은 에러 로그를 매일 확인하세요.

서버 전환은 단순 복사+붙여넣기가 아닙니다. 체크리스트 없이 옮기면 반드시 장애를 겪습니다.
지금 1시간 투자해 체크리스트를 따르면, 나중에 며칠씩 장애 복구하는 일을 막을 수 있습니다.
유지보수는 항상 예방이 치료보다 쉽습니다.

'PHP 실무' 카테고리의 다른 글

MySQL → MariaDB 전환 이슈  (0) 2026.10.02
.htaccess 접근 제한 팁  (0) 2026.09.25
MySQL Collation 변환할 때 주의점  (0) 2026.09.11
DB 뷰어 툴 활용법  (0) 2026.09.04
git 없는 옛 코드 최소 안전 관리법  (0) 2026.08.28