IT story

SAPI 란 무엇이며 언제 사용합니까?

hot-time 2021. 1. 7. 20:00
반응형

SAPI 란 무엇이며 언제 사용합니까?


나는 최근에 PHP의 오류 처리에 대해 배우고 있으며 error_log()함수를 발견했습니다 .

PHP 매뉴얼에서 모든 오류 로그 유형에 대해 이야기하고 있으며 오류 메시지가 SAPI 로깅 처리기로 직접 전송된다는 유형 3을 제외하고 모두 이해합니다. 제 질문은 SAPI가 정확히 무엇이며 언제 사용하고 싶습니까?


SAPI는 "서버 API"를 의미합니다 (그리고 API는 "응용 프로그래밍 인터페이스"를 의미 함). "외부 세계"와 PHP / Zend 엔진 간의 상호 작용을 제어하는 ​​메커니즘입니다. 따라서 항상 사용하고 싶을 것입니다. 사실 CLI조차도 SAPI로 간주되기 때문에 많은 노력 없이는 사용을 피할 수 없습니다.


SAPI (Server Application Programming Interface)는 Microsoft의 경우 ISAPI (Internet Server Application Programming Interface), Netscape의 경우 NSAPI (Netscape Server Application Programming Interface) 로도 알려져 있습니다.

API 의미.

웹 개발자에게는 REST, SOAP와 같은 API를 생각할 수 있습니다. 서버에서 데이터를 가져 오는 링크를 호출합니다. 웹 서버와 상호 작용할 수 있습니다.

SAPI는 REST 또는 SOAP와 다르며 SAPI는 서버에 사용되는 API (계약)입니다.

예 : Common Gateway Interface는 SAPI입니다. 웹 서버가 CGI를 지원하고 다른 실행 프로그램이이를 구현하면 웹 서버가 웹 페이지를 동적으로 인터페이스하고 생성 할 수 있습니다.

아래 그림을보십시오 :

SAPI 아파치 및 PHP

mod_php는 아파치와 PHP가 서로 이해할 수있는 인터페이스를 구현합니다.

그래서 정확히 SAPI는 무엇인가 : 그것은 서버 (모든 종류의 서버)와 프로그램 간의 계약입니다. 계약을 따르기 만하면 다른 세부 사항을 알 필요가 없습니다.


에서 위키 백과 :

즉, SAPI는 실제로 다른 개발자가 웹 서버 기능을 확장 할 수 있도록 웹 서버에서 제공하는 API (응용 프로그래밍 인터페이스)입니다.

예를 들어, PHP에는 다른 웹 서버에 대해 SAPI라는 직접 모듈 인터페이스가 있습니다. Windows에서 PHP 5 및 Apache 2.0의 경우 php5apache2.dll이라는 DLL 파일 형태로 제공되며, 다른 기능 중에서도 PHP와 웹 서버 간의 인터페이스를 제공하는 모듈로 다음과 같은 형태로 구현됩니다. 서버가 이해합니다. 이 양식을 SAPI라고합니다.

다양한 웹 서버 확장을위한 다양한 종류의 SAPI가 있습니다. 예를 들어 PHP 언어에 대한 또 다른 두 가지 SAPI는 CGI (Common Gateway Interface)와 CLI (명령 줄 인터페이스)입니다.


PHP에서 사용 가능한 SAPI는 Apache2 (mod_php), FPM, CGI, FastCGI 및 CLI입니다.

API가 서버에서 실행되는 경우에는 SAPI라고 할 수 있습니다.

FPM (FastCGI Process Manager)은로드가 많은 사이트에 유용한 몇 가지 추가 기능 (주로)을 포함하여 PHP FastCGI 구현에 매우 가깝습니다.

오늘날 속도와 효율성의 관점에서 FPM은 가장 발전된 SAPI가 될 것입니다. Apache 또는 Nginx는 언급 된 다른 SAPI와 비교하여 더 나은 성능을 발휘합니다.

참조 URL : https://stackoverflow.com/questions/9948008/what-is-sapi-and-when-would-you-use-it

반응형