2012-03-30 11 views
41

Ostatnio zapoznałem się z obsługą błędów w PHP i natknąłem się na funkcję error_log(). W podręczniku PHP mówi on o wszystkich typach protokołów błędów i rozumiem je wszystkie, z wyjątkiem typu 3, który stwierdza, że ​​komunikat o błędzie jest wysyłany bezpośrednio do procedury obsługi rejestrowania SAPI. Moje pytanie brzmi: czym dokładnie jest SAPI i kiedy chciałbyś go użyć?Co to jest SAPI i kiedy go użyjesz?

Odpowiedz

35

SAPI oznacza "Server API". Jest to mechanizm kontrolujący interakcję pomiędzy "światem zewnętrznym" a silnikiem PHP/Zend. Więc zawsze chciałbyś z niego skorzystać. W rzeczywistości nie można uniknąć używania go bez dużego wysiłku, ponieważ nawet CLI jest uważane za SAPI.

+24

+0, Opracowanie potrzeb. – Pacerier

+3

, w jaki sposób dowiesz się, jaki rejestrator SAPI znajduje się w uruchomionej konfiguracji starannie zmontowanej przez opiekuna pakietu? (aby uczynić z niego wiadomości, które rozpaczliwie chcesz zobaczyć :).) – n611x007

14

Z Wikipedii:

Innymi słowy, SAPI jest faktycznie interfejs programowania aplikacji (API), udostępniony przez serwer WWW, aby pomóc innym programistom na rozszerzenie możliwości serwera WWW.

Jako przykład, PHP ma bezpośredni interfejs modułu o nazwie SAPI dla różnych serwerów internetowych; w przypadku PHP 5 i Apache 2.0 w systemie Windows jest dostarczany w formie pliku DLL o nazwie php5apache2.dll, który jest między innymi funkcją interfejsu między PHP a serwerem WWW, zaimplementowanym w formie serwer rozumie. Ta forma jest znana jako SAPI.

Istnieją różne rodzaje SAPI dla różnych rozszerzeń serwera WWW. Na przykład kolejne dwa SAPI dla języka PHP to Common Gateway Interface (CGI) i interfejs wiersza poleceń (CLI).

14

SAPI (Application Programming Interface Server) znany również jako ISAPI (Internet Server Application Programming Interface) dla Microsoft, NSAPI (Application Programming Netscape Server Interface) dla Netscape.

API znaczenie.

Deweloper sieciowy może myśleć o API, takim jak REST, SOAP. Wywołujesz link do którego dostajesz dane z serwera. Pozwala na interakcję z serwerem WWW.

SAPI różni się od REST lub SOAP, SAPI to API (kontrakt) używany do serwera.

Na przykład: Common Gateway Interface to SAPI. Jeśli serwer WWW obsługuje CGI i inny program wykonywalny, zaimplementuj go, aby serwer WWW mógł dynamicznie tworzyć i generować strony internetowe.

Spójrz na zdjęcie poniżej:

SAPI apache and php

mod_php implementować interfejs, który apache i php może zrozumieć siebie nawzajem.

Czym jest SAPI dokładnie: Jest to umowa pomiędzy Serwerem (dowolnym typem serwera) a programem. Wystarczy postępować zgodnie z umową i nie muszą znać innych szczegółów.

+0

Czy możesz mi powiedzieć, skąd pochodzi to zdjęcie?Szukam jakiegoś materiału na ten temat z dokładnie tego rodzaju graficzną ilustracją. – dwytrykus

+0

Nie pamiętam dokładnie. Po przeszukaniu starej rzeczy. Znajduję jedno: http://www.slideshare.net/do_aki/php-and-sapi-andzengengine2-and. Mam nadzieję, że ta pomoc. –

Powiązane problemy