PHP의 아키텍처 다이어그램
SAPI
SAPI(Server Application Programming Interfac)는 다른 개발자가 웹 서버 기능을 확장하는 데 도움을 주기 위해 웹 서버에서 제공하는 API(응용 프로그래밍 인터페이스)입니다.
SAPI는 다른 개발 프로그램이 웹 서버의 기능을 확장하는 데 사용되는 API(응용 프로그래밍 인터페이스)입니다. 외부 조건을 추상화하고 내부 PHP에 대해 고정되고 통합된 인터페이스 세트를 제공하므로 PHP 자체 구현이 외부 환경의 영향을 받지 않고 어느 정도 독립성을 유지할 수 있습니다.
PHP에서 일반적으로 사용되는 SAPI에는 cli(명령줄 모드, 단일 프로세스), php-fpm, CGI, Apache...가 포함됩니다.
동일한 인터페이스를 사용하는 전략 모드와 약간 비슷하지만 구현이 약간 다릅니다. 다른.
PHP 시작 및 종료
● 요청 전 시작 단계:
MINIT: 모듈 초기화 단계. PHP 스크립트에서 사용되는 일부 확장, 상수, 클래스, 리소스 등을 초기화합니다. (상주 메모리, 모든 요청에 사용할 수 있습니다.)
PRINT: 모듈 활성화 단계. PHP는 모든 모듈의 RINIT 함수를 호출합니다. 이 단계에서 각 모듈은 이 요청에 사용된 변수를 초기화하는 등 일부 관련 작업을 수행할 수도 있습니다.
● 요청 후 종료 단계:
RSHUTDOWN: 이 페이지 요청이 실행되었거나 사용자에 의해 종료(종료)되었습니다. 이때 PHP는 사용된 리소스를 재활용하기 위해 재활용 프로그램을 시작합니다. 이 요청으로. 이번에는 로드된 모든 확장의 RSHUTDOWN(일반적으로 요청 종료라고 함) 메서드가 실행됩니다. 이때 확장은 커널의 변수 테이블을 사용하여 몇 가지 작업을 수행할 수 있습니다. PHP가 모든 확장된 RSHUTDOWN 메소드를 실행하면 변수 테이블의 모든 변수, 이 요청에 적용된 모든 메모리 등과 같이 이 요청에 사용된 모든 리소스가 해제됩니다.
MSHUTDOWN: PHP는 모든 확장된 MSHUTDOWN을 실행하여 리소스를 해제합니다.
PHP 생명주기
1. 단일 프로세스 SAPI 생명주기(CLI/CGI)
2. 다중 프로세스 SAPI 생명주기(Apache2)
3. Cycle
4.Embed
Embed SAPI는 PHP/ZE에서 제공하는 함수를 C/C++ 언어로 호출할 수 있는 특수 sapi입니다.
Overview
PHP의 라이프사이클과 PHP의 전체 실행 과정을 살펴보겠습니다. 그리고 SAPI를 통해 PHP 모듈과 통신하는 방법입니다.
위 내용은 PHP 수명주기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!