我最近在PHP中學習錯誤處理,並且遇到了error_log()函數。在PHP手冊中,它講述了所有的錯誤日誌類型,並且我理解了所有錯誤日誌類型,除了類型3,它指出錯誤消息直接發送到SAPI日誌記錄處理程序。我的問題是SAPI究竟是什麼,你想什麼時候使用它?什麼是SAPI,您什麼時候使用它?
回答
SAPI代表「服務器API」。它是控制「外部世界」與PHP/Zend引擎之間交互的機制。所以,你總是會想要使用它。事實上,即使CLI被認爲是SAPI,也無法避免使用它。
維基百科:
換句話說,SAPI實際上是由Web服務器提供,以幫助其他開發人員在擴展Web服務器功能的應用程序編程接口(API)。
作爲一個例子,PHP有一個稱爲SAPI的直接模塊接口用於不同的Web服務器;在Windows 5上的PHP 5和Apache 2.0的情況下,它是以一種名爲php5apache2.dll的DLL文件的形式提供的,該文件是一個模塊,除了其他功能外,它還提供了PHP和Web服務器之間的接口,服務器理解。這種形式就是所謂的SAPI。
各種Web服務器擴展有不同種類的SAPI。例如,PHP語言的另外兩個SAPI是通用網關接口(CGI)和命令行接口(CLI)。
SAPI(服務器應用編程接口),也稱爲ISAPI(Internet服務器應用程序編程接口),對於微軟來說,NSAPI(Netscape服務器應用程序編程接口)爲Netscape。
API的含義。
對於Web開發人員,您可以考慮API,如REST,SOAP。你可以調用一個鏈接從服務器獲取數據。它允許您與Web服務器進行交互。
SAPI與REST或SOAP不同,SAPI是用於服務器的API(契約)。
例如:通用網關接口是一個SAPI。如果一個Web服務器支持CGI和另一個可執行程序來實現它,所以Web服務器可以動態地接口並生成網頁。
看下面的圖片:
mod_php的實現,其Apache和PHP能夠互相理解的接口。
那麼SAPI究竟是什麼:它是服務器(任何一種服務器)和程序之間的契約。只要遵守合同,他們就不需要知道其他方的細節。
你能告訴我這張照片是從哪裏拍攝的嗎?我正在尋找與這種圖形化插圖相關的主題材料。 – dwytrykus 2017-01-07 11:56:47
我不記得確切。經過一些搜索舊的東西。我找到一個:http://www.slideshare.net/do_aki/php-and-sapi-and-zendengine2-and。希望有所幫助。 – 2017-01-11 01:35:32
- 1. intn_t什麼時候使用它,什麼時候不使用
- 2. EGL_KHR_IMAGE < - 它是什麼,什麼時候應該使用它
- 3. 什麼是HTML BB按鈕?什麼時候應該使用它?
- 4. 什麼是Ninject,你什麼時候使用它?
- 5. 什麼是SELF JOIN,什麼時候使用它?
- 6. 什麼是模擬,什麼時候應該使用它?
- 7. 什麼是BigInteger,我們什麼時候可以使用它?
- 8. 什麼是MvcHtmlString,我應該什麼時候使用它?
- 9. 什麼是單身模式?爲什麼和什麼時候應該使用它?
- 10. addEvents的要點/效用是什麼?它什麼時候有用?
- 11. MSBuild:它是什麼,我什麼時候需要它?
- 12. 什麼時候使用__proto__和什麼時候使用原型
- 13. 什麼時候應該使用AWS,什麼時候不使用
- 14. 什麼時候使用Ruby和什麼時候使用PHP
- 15. 什麼時候使用ByteString,什麼時候不使用?
- 16. Symfony sfFormFilters - 你什麼時候使用它?
- 17. 什麼是JavaScript對象,它們什麼時候有用?
- 18. 什麼時候使用@JsonProperty屬性,它用於什麼?
- 19. CourseCompletions是什麼?它們是什麼時候創建的?
- 20. 什麼是'unsigned'意思是什麼時候它本身?
- 21. 什麼時候應該使用async/await,什麼時候不用?
- 22. 什麼時候是K 1024,什麼時候是1000?
- 23. python sys.intern做什麼,它應該在什麼時候使用?
- 24. SqlCommand.Prepare()做什麼以及它應該在什麼時候使用?
- 25. 什麼是「對象數據庫」,什麼時候使用它是有益的?
- 26. SQL Server CASE什麼時候不使用CASE什麼時候
- 27. ZF2什麼時候使用getServiceLocator()什麼時候不到
- 28. 什麼時候使用GWT,什麼時候不需要
- 29. 什麼是Scala中的清單,什麼時候需要它?
- 30. 什麼是http標題,什麼時候需要指定它們
+0,需要詳細說明。 – Pacerier 2014-10-14 05:40:28
那麼如何找出你的SAPI記錄器在由你的軟件包維護人員整齊組裝的運行配置上? (爲了讓它記錄下你非常想看到的信息:)) – n611x007 2015-08-24 11:48:24