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
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.
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).
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:
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.
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
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. –
- 1. Co to jest indeks pełnotekstowy i kiedy powinienem go używać?
- 2. Co to jest Manifest w Scali i kiedy go potrzebujesz?
- 3. co to jest Request.InputStream i kiedy go użyć?
- 4. Co to jest __declspec i kiedy należy go użyć?
- 5. Co to jest Ninject i kiedy go używasz?
- 6. Co to jest bajt datatype i kiedy powinienem go użyć?
- 7. Co to jest sekwencja (baza danych)? Kiedy będziemy go potrzebować?
- 8. W Powershell, jakiego rodzaju jest typ danych [string []] i kiedy go użyjesz?
- 9. Co to jest err. (* Os.PathError) w Go?
- 10. Co to jest blokowanie w MySQL i kiedy z niego korzystać?
- 11. Co to jest usługa serwisowa i kiedy jej potrzebuję?
- 12. Co to jest metoda Javascript CollectGarbage()? Kiedy i dlaczego powinno się go używać?
- 13. Co to jest "zadanie" (proces potomny) w systemie Windows i kiedy go używać?
- 14. Co to jest std :: decay i kiedy powinno się go używać?
- 15. Co to jest typ złożony w strukturze encji i kiedy go używać?
- 16. co to jest błąd parsowania i jak go naprawić
- 17. co to jest MVVM i czy powinniśmy go używać?
- 18. Co to jest "najczęstszy subskrybent" i jak go obliczyć?
- 19. Co to jest NHibernate i dlaczego powinienem go używać?
- 20. Co to jest pyximport i jak mam go używać?
- 21. co to jest "tryb ścisły" i jak się go używa?
- 22. Co to jest NPM i dlaczego go potrzebuję?
- 23. Co to są podzielniki i kiedy ich użycie jest konieczne?
- 24. Co to jest funkcja "zewnętrzna inline" i kiedy używać?
- 25. Co robi atrybut "typ_widzialności" Clanga i kiedy należy go użyć?
- 26. Co to jest Thread.CurrentPrincipal i co robi?
- 27. Co to jest S_ISREG() i co robi?
- 28. Co to jest IllegalStateException?
- 29. Co to jest POI i co to znaczy?
- 30. Co to jest CONNECTED_STRIPE_ACCOUNT_ID? Jak zdobyć go z platformy Android?
+0, Opracowanie potrzeb. – Pacerier
, 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