>  기사  >  백엔드 개발  >  PHP에서 SAPI란 무엇입니까? 달성하는 방법? (사진과 텍스트)

PHP에서 SAPI란 무엇입니까? 달성하는 방법? (사진과 텍스트)

不言
不言원래의
2018-09-18 15:13:096658검색

이 기사의 내용은 PHP에서 SAPI가 무엇인지에 관한 것입니다. 달성하는 방법? (사진 및 텍스트) 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

SAPI, 구체적으로 확인해 봤습니다. Server Application Programing Interface의 약어로, 서버 측 애플리케이션 프로그래밍 인터페이스를 뜻합니다.

PHP 커널이 서비스를 호출하기 위해 외부 세계에 제공하는 인터페이스입니다. 즉, 외부 시스템은 SAPI를 통해 PHP에서 제공하는 스크립트 컴파일 및 스크립트 실행 서비스를 호출할 수 있습니다. PHP에는 많은 SAPI가 구현되어 있으며 Cli 및 Fpm이 더 일반적입니다.

아래 그림을 보면 외부 시스템이 어떻게 SAPI를 통해 PHP 서비스를 호출하는지 명확하게 알 수 있습니다

PHP에서 SAPI란 무엇입니까? 달성하는 방법? (사진과 텍스트)

인터넷에서 가져온 그림입니다

다음은 주로 우리가 공통으로 사용하는 Cli에 대해 논의하고, Fpm 작동 방식.

Cli

Cli(Command Line Interface)는 명령줄 인터페이스로, Shell과 마찬가지로 명령줄에서 PHP 스크립트를 실행하는 데 사용되는 가장 쉬운 방법입니다.

Cli는 요청을 처리한 후 바로 종료됩니다. 수명 주기는 모듈 시작, 요청 시작, 스크립트 실행, 요청 종료 및 모듈 종료를 차례로 거칩니다. 주요 처리 프로세스는 다음과 같습니다.

main()-> php_cli_startup()-> do_cli()-> php_module_shutdown()
Fpm

Fpm(FastCGI 프로세스 관리자)은 PHP FastCGI 운영 모드의 프로세스 관리자로, 정의에서 알 수 있듯이 Fpm의 핵심 기능은 프로세스 관리입니다.

FastCGI는 웹 서버(예: Nginx, Apache)와 핸들러 간의 통신 프로토콜로, HTTP와 유사한 애플리케이션 계층 통신 프로토콜입니다.
참고: 이는 단지 계약일 뿐입니다!

Fpm은 마스터 프로세스와 여러 작업자 프로세스로 구성된 다중 프로세스 모델입니다. 마스터 프로세스는 시작 시 소켓을 생성하지만 요청을 수신하거나 처리하지 않습니다. 대신 포크된 작업자 하위 프로세스가 요청 수신 및 처리를 완료합니다. 즉, 마스터 프로세스가 작업자 프로세스를 관리하고 작업자 프로세스가 실제 처리 요청입니다.

Fpm은 시작 후 먼저 SAPI 등록 작업을 수행한 다음 PHP 수명 주기의 module startup 단계로 들어가며, 이 동안 각 확장에 정의된 MINT 후크 기능이 호출됩니다. 그런 다음 일련의 초기화 작업이 수행되고 마지막으로 마스터 프로세스와 작업자 프로세스가 서로 다른 처리 링크로 들어갑니다.

워드 프로세스의 라이프 사이클은 다음과 같습니다:

PHP에서 SAPI란 무엇입니까? 달성하는 방법? (사진과 텍스트)

그림은 인터넷에서 가져온 것입니다.

워드 프로세스의 라이프 사이클은 주로 요청 대기, 요청 구문 분석, 요청 초기화, PHP 스크립트 실행 등의 단계를 거칩니다. , 요청 종료.

마스터 프로세스는 주로 정적 모드(정적), 동적 모드(동적), 주문형 모드(ondemand)의 세 가지 방식으로 워드 프로세스를 관리합니다. 사용할 특정 모드는 conf 구성에서 pm을 통해 지정할 수 있습니다

위 내용은 PHP에서 SAPI란 무엇입니까? 달성하는 방법? (사진과 텍스트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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