我最近在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