PHP 주석 및 공백 제거 옵션 (-w)
PHP -w 옵션은 ‘Whitespace’ 또는 ‘Write Stripped Source’를 뜻하며, 파일 내부의 컴파일용 데이터 분석 단계에서 모든 주석문과 다중 연속 공백, 줄바꿈 기호를 깔끔하게 제거(Strip)한 결과물만을 터미널 표준 출력으로 반환합니다.
웹 프레임워크나 스크립트 도구를 배포할 때 소스 용량을 최대한 경량화하여 소형 패키지를 만들고 싶거나, 내부 주석을 필터링해 원시 배포본을 구성하고자 할 때 소스 미니파이어(Minifier - 코드 압축기)처럼 활용할 수 있습니다.
1. 사용 예제 및 컴파일 결과 대조
php -w [압축할_소스_파일명.php]
1) 압축 처리 전 소스코드 (index.php)
주석과 풍부한 단락 개행이 들어가 있는 코드입니다.
<?php
// 1. 데이터베이스 계정 정보 정의
$db_host = "localhost";
/*
작업자: Hojin
날짜: 2026-06-14
설명: 데이터베이스 디렉트 연결 테스트
*/
$db_user = "root"; # 관리자 계정 이름
echo "Connection Success!"; // 화면 에코
?>
2) -w 옵션 가동 후 압축 출력 결과
$ php -w index.php
<?php
$db_host = "localhost"; $db_user = "root"; echo "Connection Success!"; ?>
- 수행 내역:
//로 시작하는 단일 행 주석 제거 완료.#로 작성된 셸 스타일 주석 제거 완료./* ... */로 둘러싸인 다중 행 블록 주석 전체 소멸.- 빈 줄바꿈과 여러 칸의 공백들이 최소한의 토큰 구획 단위인 한 칸의 공백 문자 수준으로 완전 병합 및 압축되었습니다.
2. 실무 활용 및 주의사항
- 파일 압축 저장: 화면에 뿌려진 결과를 리다이렉션(
>)하여 새 파일로 이식 저장할 수 있습니다.php -w source.php > source.min.php - 주의 사항: PHP 어휘 분석 엔진(Tokenizing VM)이 각 구문을 완벽하게 인지하여 가공하므로 구문 에러가 나거나 코드가 꼬이지는 않습니다. 그러나 개발 시 작성해 둔 디버깅용 주석과 역사적 기록 로그가 원천적으로 지워지므로, 원본 백업 파일이 아닌 실제 서비스 가동용 배포 빌드본에만 선별 적용하는 것이 안전합니다.
이전 학습
« 게시판 만들기
서브목차