PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了谈谈你对Zend SAPIs(Zend SAPI Internals)的理解大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

SAPI: Server abstraction API,研究过PHP架构的同学应该知道这个东东的重要性,它提供了一个接口,使得PHP可以和其他应用进行交互数据。 本文不会详细介绍每个PHP的SAPI,只是针对最简单的CGI SAPI,来说明SAPI的机制。

首先,我们来看看PHP的架构图:

谈谈你对Zend SAPIs(Zend SAPI Internals)的理解

PHP Architecture

SAPI提供了一个和外部通信的接口, 对于PHP5.2,认提供了很多种SAPI, 常见的给apache的mod_PHP5,CGI,给IIS的ISAPI,还有Shell的CLI,本文就从CGI SAPI入手 ,介绍SAPI的机制。 虽然CGI简单,但是不用担心,它包含了绝大部分内容,足以让你深刻理解SAPI的工作原理。

要定义个SAPI,首先要定义个sapi_module_struct,查看 PHP-SRC/sapi/cgi/cgi_main.c:

PHP;">
 */
static sapi_module_struct cgi_sapi_module = {
#if PHP_FASTCGI
 "cgi-fcgi",/* name */
 "CGI/FastCGI",/* pretty name */
#else
 "cgi",/* name */
 "CGI",/* pretty name */
#endif

PHP_cgi_startup,/ startup /
PHP_module_shutdown_wrapper,/ shutdown /

NULL,/ activate /
sapi_cgi_deactivate,/ deactivate /

sapi_cgibin_ub_write,/ unbuffered write /
sapi_cgibin_flush,/ flush /
NULL,/ get uid /
sapi_cgibin_getenv,/ getenv /

PHP_error,/ error handler /

NULL,/ header handler /
sapi_cgi_send_headers,/ send headers handler /
NULL,/ send header handler /

sapi_cgi_read_post,/ read POST data /
sapi_cgi_read_cookies,/ read Cookies /

sapi_cgi_register_variables,/ register server variables /
sapi_cgi_log_message,/ Log message /
NULL,/ Get request time /

STANDARD_SAPI_MODULE_PROPERTIES
};

大佬总结

以上是大佬教程为你收集整理的谈谈你对Zend SAPIs(Zend SAPI Internals)的理解全部内容,希望文章能够帮你解决谈谈你对Zend SAPIs(Zend SAPI Internals)的理解所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: