>백엔드 개발 >PHP 튜토리얼 >내 PHP 스크립트가 명령줄에서 실행되고 있는지 아니면 HTTP를 통해 실행되고 있는지 어떻게 확실하게 확인할 수 있습니까?

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

Patricia Arquette
Patricia Arquette원래의
2024-11-16 12:13:03405검색

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 개발자는 스크립트의 실행 환경을 안정적으로 결정할 수 있으며 대상 출력 형식 지정 및 맞춤형 동작 조정이 가능합니다.

위 내용은 내 PHP 스크립트가 명령줄에서 실행되고 있는지 아니면 HTTP를 통해 실행되고 있는지 어떻게 확실하게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.