피드로 돌아가기
Dev.toInfrastructure
원문 읽기
4종 Shared Host 분석 기반 WP-CLI 실행 경로 동적 탐색 로직 설계
Why WP-CLI Won't Start on Some Shared Hosts — A Field Investigation Across Four Architectures
AI 요약
Context
Shared Hosting 환경의 제약으로 인해 sudo 권한 및 /usr/local/bin 쓰기 권한이 제한되는 상황 발생. 공식 설치 가이드의 일률적인 방식이 각 호스트의 서로 다른 PATH 설정과 Shell 환경으로 인해 실행 실패하는 한계 직면.
Technical Solution
- read-only SSH 진단을 통한 호스트별 PATH 및 PHP binary 존재 여부 사전 식별
- Shebang(#!/usr/bin/env php) 해석 실패를 방지하기 위해 Versioned PHP Full Path와 PHAR 경로를 결합한 명시적 호출 구조 설계
- Linux-bash 기준 스크립트를 POSIX sh로 전환하여 FreeBSD-csh 환경의 호환성 확보
- 파일 MD5 Hash 검증 대신 wp --info 명령어의 Exit Status(0)를 기준으로 한 실제 실행 가능성 검증 프로세스 도입
- [which wp → ~/bin/wp 실행 → Versioned PHP 결합] 순의 단계별 Fallback 탐색 알고리즘 적용
실천 포인트
1. sudo 권한이 없는 환경을 가정하여 ~/bin 등 사용자 홈 디렉토리 활용 방안 검토
2. Shell 스크립트 작성 시 bash 전용 문법을 제거하고 POSIX sh 표준 준수 여부 확인
3. PHAR 등 바이너리 파일 업로드 시 전송 프로토콜에 의한 바이트 변조 가능성을 고려하여 curl 직접 다운로드 권장
4. 정적 해시 검증보다 실제 런타임의 Exit Code를 통한 Health Check 수행