"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 내 PHP 스크립트가 명령줄에서 실행되고 있는지 아니면 HTTP를 통해 실행되고 있는지 어떻게 확실하게 확인할 수 있습니까?

내 PHP 스크립트가 명령줄에서 실행되고 있는지 아니면 HTTP를 통해 실행되고 있는지 어떻게 확실하게 확인할 수 있습니까?

2024년 12월 21일에 게시됨
검색:717

How Can I Reliably Determine if My PHP Script is Running from the Command Line or via HTTP?

PHP에서 명령줄 실행과 HTTP 실행 비교

PHP 스크립트 개발의 일반적인 작업은 실행 환경 유형을 결정하는 것입니다. 스크립트는 명령줄이나 HTTP를 통해 실행됩니다. 이 지식은 출력 형식을 결정하고 이에 따라 동작을 사용자 정의하는 데 중요합니다.

SERVER['argc']의 존재를 확인하는 전통적인 방법은 'Apache를 사용할 때에도 채워질 수 있으므로 신뢰할 수 없습니다. 2.0 핸들러' 서버 API. 이 쿼리를 해결하는 정식 방법은 php_sapi_name() 함수를 활용하는 것입니다.

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

php_sapi_name() 함수는 aolserver, apache, apache2filter, apache2handler, caudium, cgi, cli 및 webjames를 포함하여 광범위한 반환 값을 제공합니다. 전체 목록은 PHP 문서를 참조하세요.

또한, PHP >= 4.2.0에서 미리 정의된 상수 PHP_SAPI는 php_sapi_name()과 동일한 값을 보유합니다. 이 상수를 활용함으로써 개발자는 코드 가독성과 유지 관리성을 향상시킬 수 있습니다.

이 표준 접근 방식을 고수함으로써 PHP 개발자는 스크립트의 실행 환경을 안정적으로 결정할 수 있으며 대상 출력 형식 지정 및 맞춤형 동작 조정이 가능합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3