12 KiB
전환 목표
현재 기준으로는 아래 두 흐름을 모두 인지하고 작업한다.
현재 실행 기준은 B안으로 고정한다.
| 구분 | 의미 |
|---|---|
| 단기 목표 | 리눅스 기준으로 실제 운영 구조를 재현 가능한 상태까지 정리 |
| 중기 목표 | 필요 시 PHP 8 + Smarty 상향까지 포함한 구조 전환 검토 |
| 실행 방향 | PHP 8 + Smarty 상향 + Linux/Docker 이관 |
| 핵심 목표 | Windows APMSETUP 기반 레거시 서비스를 최신 Linux 기반 스택에서 동작하도록 전환 |
| 제외 방향 | A안, 즉 PHP 5.2 계열 운영 재현 우선 방식은 실행 타임테이블에서 제외 |
다만 실제 실행은 단계별 타임테이블 기준으로 움직이며, 각 단계의 상태에 따라 다음 단계로 넘어간다.
A안 관련 문서는 판단 이력과 비교 자료로만 유지한다. 실제 실행은 아래 단계별 타임테이블 기준으로 움직이며, 각 단계의 상태에 따라 다음 단계로 넘어간다.
변경될 사항
| 웹루트 | D:\APM_Setup\htdocs | 예: /var/www/html |
| DB 연결 | localhost/외부 호스트 혼재 | 환경변수 기반 연결 |
| 업로드/로그/캐시 | 웹루트 인접 상대경로/Windows 경로 | Linux 디렉터리/볼륨 매핑 |
| 템플릿 엔진 | Smarty 2.6 | 유지 또는 상향 검토 |
| 템플릿 엔진 | Smarty 2.6 | Smarty 상향 적용 검토 후 전환 |
| 운영 구조 | 단일 Windows 통합 운영 | Linux/Docker 기준 재구성 |
작업 진행 원칙
| 3 | 단계가 추가/변경되면 먼저 타임테이블을 수정하고 난 뒤 실제 작업을 진행한다. | | 4 | 다중 서비스 전환이므로 공통 수정의 영향 범위를 항상 같이 점검한다. | | 5 | 운영 사실은 문서/실파일/실제 캡처 기준으로만 기록한다. | | 6 | 판단이 필요한 단계는 B안 기준으로 PHP 8, DB 상향, Smarty 상향 영향을 함께 검토한다. |
단계별 타임테이블
| 단계 ID | 단계명 | 목표 | 주요 작업 | 산출물 | 예상 소요 | 완료 기준 | 상태 |
|---|---|---|---|---|---|---|---|
| P0 | 기준 확보 | 운영 기준 사실과 범위를 고정 | 운영 버전, 루트 경로, 주요 서비스, DB, 저장소 구조 확인 | 운영 기준 메모, 인벤토리 문서 | 완료 | 기준 문서와 핵심 근거 확보 | 완료 |
| P1 | 원본 반입 | 실제 운영본과 DB dump를 작업 저장소에 반입 | APM_Setup.zip, hanmacerp.sql, 설정 파일 반입 |
압축본, dump, 반입 기록 | 완료 | 원본 소스/DB/설정 확보 | 완료 |
| P2 | 실행 기준 정리 | 작업 규칙, 보고 문서, 체크리스트 고정 | 보고 문서, 규칙 문서, B안 체크리스트 작성 | 규칙 문서, 전략 문서 | 완료 | 상위 기준 문서 정리 | 완료 |
| P3 | 운영 재현 준비 | 리눅스 재현을 위한 Docker 골격과 DB 적재 절차 준비 | compose, Dockerfile, entrypoint, DB init 절차 정리 | Docker 초안, import 절차 | 진행 중 | 웹/DB 골격과 import 절차 준비 | 진행 중 |
| P4 | 운영본 선별 및 구조화 | 실제 사용 서비스와 공통 자산을 선별 배치 | app/htdocs 기준 운영본/보류본/저장소 분리 |
선별 반입 구조 | 미착수 | 실제 운영본 구조가 고정됨 | 미착수 |
| P5 | A안 리눅스 재현 검증 | 현재 운영과 최대한 비슷하게 Linux/Docker에서 기동 확인 | 경로 치환, DB 연결, 업로드/로그/캐시 검증 | 1차 재현 결과, 오류 목록 | 미착수 | 로그인/대표 화면/대표 기능 구동 | 미착수 |
| P6 | B안 영향도 심화 분석 | PHP 8, DB 상향, Smarty 상향 범위를 실제 코드 기준으로 확정 | PHP 치명 이슈 스캔, Smarty 자산 분류, DB 호환성 분석 | B안 심화 메모, 착수 체크리스트 | 진행 중 | B안 실제 범위와 리스크 확정 | 진행 중 |
| P7 | B안 설계 확정 | PHP 8 + Smarty 상향 + Linux 이관의 실제 전환 순서를 확정 | 목표 버전, 공통부 전환, 서비스 우선순위 설계 | B안 설계 문서 | 미착수 | B안 실행 설계 승인 가능 수준 | 미착수 |
| P8 | B안 코드 전환 | 공통부부터 PHP 8/Smarty 상향 적용 | DB 계층, 공통 함수, Smarty 초기화부, 진입부 수정 | 코드 변경본, 변경 로그 | 미착수 | 대표 서비스의 PHP 8/Smarty 상향 기동 | 미착수 |
| P9 | 서비스별 회귀 테스트 | 다중 서비스 동작과 저장소 기능 확인 | 로그인, 메인, 첨부, 이미지, 로그, 인코딩, 세션 확인 | 테스트 결과표, 오류 목록 | 미착수 | 핵심 서비스별 대표 기능 확인 | 미착수 |
| P10 | 안정화 및 운영 전환 판단 | 반복 오류 보정과 최종 전환 판단 | 버그 수정, 재기동 검증, 문서 갱신 | 안정화 기록, 전환 판단 메모 | 미착수 | 운영 적용 여부 판단 가능 상태 | 미착수 |
| 단계 ID | 단계명 | 목표 | 주요 작업 | 산출물 | 예상 소요 | 권장 GPT 모델 | 완료 기준 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| P0 | 기준 확보 | 운영 기준 사실과 범위를 고정 | 운영 버전, 루트 경로, 주요 서비스, DB, 저장소 구조 확인 | 운영 기준 메모, 인벤토리 문서 | 완료 | GPT-5.6 Terra 또는 GPT-5.5 high | 기준 문서와 핵심 근거 확보 |
| P1 | 원본 반입 | 실제 운영본과 DB dump를 작업 저장소에 반입 | APM_Setup.zip, hanmacerp.sql, 설정 파일 반입 |
압축본, dump, 반입 기록 | 완료 | GPT-5.6 Terra 또는 GPT-5.5 high | 원본 소스/DB/설정 확보 |
| P2 | B안 실행 기준 정리 | PHP 8 전환 중심의 작업 규칙, 보고 문서, 체크리스트 고정 | 정책 문서, 규칙 문서, B안 체크리스트 갱신 | 규칙 문서, 전략 문서, 실행 정책 문서 | 완료 | GPT-5.6 Sol | A안 제외 및 B안 실행 기준 고정 |
| P3 | 운영본 선별 및 구조화 | 실제 사용 서비스와 공통 자산을 선별 배치 | APM_Setup.zip 해제, 운영본/보류본/저장소 분리, 템플릿 산출물 분류 |
선별 반입 구조, 서비스 인벤토리 | 미착수 | GPT-5.6 Terra | 실제 운영본 구조가 고정됨 |
| P4 | PHP 8 치명 이슈 스캔 | PHP 5.2 코드가 PHP 8에서 깨질 지점을 실제 코드 기준으로 식별 | mysql_*, ereg, split, each, short tag, 동적 속성, 참조 전달, 배열/문자열 접근 스캔 |
PHP 8 이슈 목록, 우선순위표 | 미착수 | GPT-5.6 Terra, 판단 검토는 GPT-5.6 Sol | 공통부와 대표 서비스의 치명 이슈 목록 확보 |
| P5 | DB 계층 전환 설계 | MySQL 5.x 접근 방식을 PHP 8 호환 DB 계층으로 전환 설계 | DB 접속부 추적, mysql_* 대체 방식 결정, PDO/MySQLi 래퍼 설계, 문자셋 정책 정리 |
DB 전환 설계 메모, 공통 DB 래퍼 초안 | 미착수 | GPT-5.6 Sol | 코드 전환 전에 DB 접근 정책 확정 |
| P6 | Smarty 상향 설계 | Smarty 2.6 템플릿/플러그인을 상위 버전 기준으로 전환 설계 | 템플릿 문법 스캔, 플러그인 호환성 점검, 컴파일/캐시 경로 정책, 목표 버전 확정 | Smarty 전환 설계 메모, 템플릿 이슈 목록 | 진행 중 | GPT-5.6 Sol | Smarty 전환 범위와 수정 패턴 확정 |
| P7 | Linux/Docker 목표 스택 확정 | PHP 8 기반 리눅스 실행 스택을 확정 | Apache/Nginx 여부, PHP-FPM 여부, MySQL 목표 버전, 볼륨/권한/환경변수 설계 | Docker 목표 설계, compose 기준안 | 미착수 | GPT-5.6 Sol | B안 실행 인프라 기준 승인 가능 상태 |
| P8 | 공통부 코드 전환 | 서비스 전체에 영향이 큰 공통부부터 PHP 8 기준으로 수정 | DB 계층, 공통 함수, 설정 로더, 경로 처리, 세션/쿠키, Smarty 초기화부 수정 | 공통부 변경본, 변경 로그 | 미착수 | GPT-5.6 Sol | 대표 진입점이 PHP 8에서 fatal 없이 로드됨 |
| P9 | 서비스별 코드/템플릿 전환 | 핵심 서비스별 PHP/Smarty 오류를 순차 수정 | intranet, factory_mng, person_mng, projt_mng, account 순차 점검 및 수정 |
서비스별 수정 로그, 오류 목록 | 미착수 | 반복 수정은 GPT-5.6 Terra, 난해한 오류는 GPT-5.6 Sol | 핵심 서비스 대표 화면과 대표 기능 동작 |
| P10 | DB/데이터 상향 검증 | MySQL 8 또는 선택된 목표 DB에서 데이터와 쿼리 호환성 확인 | dump import, 뷰/트리거/프로시저 점검, 예약어/문자셋/정렬 기준 확인 | DB import 결과, 쿼리 오류 목록 | 미착수 | GPT-5.6 Sol | 주요 조회/저장 쿼리와 문자셋 이상 여부 확인 |
| P11 | 서비스별 회귀 테스트 및 안정화 | 다중 서비스 동작과 저장소 기능을 반복 확인 | 로그인, 메인, 첨부, 이미지, 로그, 인코딩, 세션, 권한 확인 | 테스트 결과표, 오류 목록, 안정화 기록 | 미착수 | GPT-5.6 Terra, 대량 체크는 GPT-5.6 Luna 가능 | 핵심 서비스별 대표 기능 확인 |
| P12 | 운영 전환 판단 | 반복 오류 보정 후 최종 전환 가능 여부 판단 | 잔여 리스크 정리, 릴리스/롤백 기준 작성, 문서 갱신 | 전환 판단 메모, 릴리스 체크리스트 | 미착수 | GPT-5.6 Sol | 운영 적용 여부 판단 가능 상태 |
GPT 모델 선택 기준
| 모델 | 적합한 작업 |
|---|---|
| GPT-5.6 Sol | 아키텍처 결정, PHP 8 전환 판단, DB/Smarty 상향 설계, 복잡한 오류 분석, 최종 리뷰 |
| GPT-5.6 Terra | 파일 인벤토리, 반복 코드 스캔, 서비스별 수정, 문서 정리, 중간 난이도 리팩토링 |
| GPT-5.6 Luna | 대량 목록화, 단순 분류, 테스트 결과 요약처럼 판단 부담이 낮은 반복 작업 |
| GPT-5.5 high/xhigh | GPT-5.6 사용이 불가할 때의 대체 선택. 중요한 설계/리뷰 작업은 high 이상 권장 |
현재 기준 우선 작업 경로
현재 문서 작성 시점(2026-07-22) 기준 우선 경로는 아래와 같다.
P3 운영 재현 준비마무리P4 운영본 선별 및 구조화P6 B안 영향도 심화 분석보강- 이후
P5와P7중 실제 의사결정에 따라 진행 P3 운영본 선별 및 구조화P4 PHP 8 치명 이슈 스캔P6 Smarty 상향 설계P5 DB 계층 전환 설계와P7 Linux/Docker 목표 스택 확정- 이후
P8 공통부 코드 전환부터 실제 코드 전환 착수
즉, 현재는 A안 재현 준비와 B안 심화 분석이 병행 구간에 있다.
즉, 현재부터는 A안 재현 준비를 실행 경로에서 제외하고, B안 전환 준비에 집중한다.
단계 변경 반영 규칙
| 단계 순서가 바뀜 | 순서와 우선 경로를 수정 | | 예상 소요가 크게 달라짐 | 소요와 상태 설명 보정 | | 단계 목표가 달라짐 | 목표/완료 기준을 수정 | | A안에서 B안으로 우선순위가 이동 | 우선 경로와 상태를 갱신 | | B안 범위/순서가 바뀜 | 우선 경로와 상태를 갱신 |
상태값 정의
현재 시점 요약
현재까지는 운영 기준, DB dump, 원본 압축, Docker 초안, B안 심화 검토 문서가 준비되어 있다.
다음 실제 작업은 P3, P4, P6의 정밀화에 집중하게 된다.
다음 실제 작업은 P3 운영본 선별 및 구조화, P4 PHP 8 치명 이슈 스캔, P6 Smarty 상향 설계 순서로 집중하게 된다.
한줄 결론
앞으로의 작업은 본 문서의 타임테이블을 기준으로 진행하며, 중간에 단계가 추가되거나 수정되면 반드시 먼저 이 문서를 갱신한 뒤 다음 작업을 수행한다.