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