PHP CLI 콘솔 옵션 총정리
PHP CLI 엔진은 터미널 환경에서 스크립트를 파싱하고 제어하기 위해 매우 다양한 커맨드라인 플래그(Flag) 옵션을 지원합니다. 터미널에서 php -h 또는 php --help를 입력하면 모든 명령어 스펙을 조회할 수 있습니다.
이 장에서는 자주 사용하는 핵심 옵션들을 표로 일목요연하게 정리하고, 각 옵션의 세부 정보 페이지를 연결해 알아봅니다.
1. PHP CLI 명령어 기본 문법 포맷
# 1. 스크립트 파일을 실행하는 기본 구조
php [옵션들] [-f] <파일명> [--] [인자값들...]
# 2. 파일 없이 코드를 직접 실행하는 구조
php [옵션들] -r <code> [--] [인자값들...]
# 3. 로컬 테스트용 경량 웹 서버 실행 구조
php [옵션들] -S <서버주소>:<포트> [-t 도큐먼트루트]
2. 핵심 CLI 옵션 매핑 테이블
| 옵션 플래그 | 주요 설명 | 연관 상세 링크 |
|---|---|---|
-a |
Interactive Shell - 대화형 REPL 터미널 세션을 켭니다. | 대화식 실행 (-a) |
-i |
PHP Info - phpinfo()와 동일한 전체 시스템 환경 정보를 출력합니다. |
정보 확인 (-i) |
-l |
Syntax Check (Lint) - 소스코드를 실행하지 않고 문법 오류만 검증합니다. | 문법 검사 (-l) |
-m |
Modules List - 컴파일 내장 및 로드 완료된 core/zend 모듈들을 나열합니다. | 모듈 출력 (-m) |
-r <code> |
Run Code - <?php ... ?> 태그 없이 PHP 코드를 한 줄로 즉시 실행합니다. |
코드 실행 (-r) |
-S <addr>:<port> |
Built-in Server - 로컬 개발용 단일 스레드 웹 서버를 가동합니다. | 서버 시작 (-S) |
-s |
Syntax Highlight - PHP 소스 구문을 컬러 코딩된 HTML 양식으로 변환 출력합니다. | 구문 강조 (-s) |
-v |
Version Info - PHP 엔진 및 젠드 가상머신, 빌드 버전 정보를 확인합니다. | 버전 확인 (-v) |
-w |
Strip Source - 파일의 모든 주석과 불필요한 줄바꿈 공백을 제거해 압축 출력합니다. | 주석 제거 (-w) |
-c <dir\|file> |
특정 디렉터리 또는 지정한 단일 파일에서 php.ini 설정을 찾아 로드합니다. |
- |
-n |
시스템 전역 php.ini 파일을 전혀 읽지 않고 순수 코어 기본값으로 구동합니다. |
- |
-d foo[=bar] |
실행 시에만 임시로 특정 ini 설정을 강제 덮어쓰기 설정합니다. | 하단 참조 |
--ini |
현재 로드되어 활성화된 php.ini 파일들의 파일명과 경로를 보여줍니다. |
하단 참조 |
3. 유용한 동적 제어 옵션 상세 실습
1) 런타임 설정 일시 변경 (-d)
소스를 수정하거나 php.ini 파일을 열어서 직접 바꾸지 않고, 스크립트 1회 실행 동안만 특정 환경값을 수정하여 디버깅할 때 요긴하게 쓰입니다.
# display_errors 옵션을 On으로 덮어쓰고, max_execution_time을 60초로 변경하여 실행
php -d display_errors=1 -d max_execution_time=60 execute.php
2) 활성화된 ini 경로 조회 (--ini)
서버가 어떤 설정 파일을 타겟팅하여 참조하고 있는지 헷갈릴 때, 경로를 역추적하기 위한 가장 빠른 명령입니다.
$ php --ini
Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.3
Loaded Configuration File: /opt/homebrew/etc/php/8.3/php.ini
Scan this dir for additional .ini files: /opt/homebrew/etc/php/8.3/conf.d
이전 학습
« 게시판 만들기
서브목차