php的SAPI,CLI SAPI,CGI SAPI

简介:

首先一个问题:在命令行下执行:php -r 'echo 12;'

控制台会打印出 12;

这个过程不是很奇妙么,我输入的是shell命令,但是执行的却是php脚本。php脚本执行完成之后的输出还能在控制台输出。

那在这个shell命令(控制台命令)和php中间一定有一种接口,能将shell的参数,代码,等转换成php,然后将php的输出转换成shell的输出。这个接口就叫做SAPI(Server Application Programimg Interface)。它就相当于PHP外部环境的代理器。

那么由于PHP可以应用在终端上,也可以应用在Web服务器中,所以呢,应用在终端上的SAPI就叫做CLI SAPI,应用在Web服务器中的就叫做CGI SAPI。在windows下安装php你会看到两个exe:php.exe和php-cgi.exe这个就对应的是这两种SAPI。再比如,在控制台上使用php -v,你就会发现PHP的版本信息中有个(cli)标示,就代表你这里的php应用程序使用的是cli SAPI。

关于CLI SAPI:手册上有很详细的说明:http://php.net/manual/zh/features.commandline.php



本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/p/3482040.html,如需转载请自行联系原作者

相关文章
|
4月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
28 5
|
8月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
70 0
|
9月前
|
Shell Linux PHP
PHP CLI的命令行模式的理解
PHP CLI的命令行模式的理解
57 0
|
11月前
|
Shell PHP Windows
php的SAPI,CLI SAPI,CGI SAPI
php的SAPI,CLI SAPI,CGI SAPI
|
监控 应用服务中间件 PHP
PHP 本身支持 CGI、FastCGI、mod_php、php-fpm的模式区别是什么?底层原理是什么?
PHP 本身支持 CGI、FastCGI、mod_php、php-fpm的模式区别是什么?底层原理是什么?
108 0
|
网络协议 Unix API
CGI和PHP的关系是什么?底层原理是什么?
CGI和PHP的关系是什么?底层原理是什么?
111 0
|
应用服务中间件 PHP nginx
php cli web server with rewrite router
php cli web server with rewrite router
61 0
|
负载均衡 Java 应用服务中间件
[CGI,Nginx,FastCGI,编程语言,服务器端]FastCGI在PHP与Nginx之间的作用介绍
  一:什么是 CGI?   服务器端编程语言如(如php/java)与Web服务器之间传递信息的协议,约定了http头、表单等信息的传递接口;   二:FastCGI 是什么?
103 0
|
PHP Android开发
PHP CLI应用的调试原理
PHP CLI应用的调试原理
106 0
PHP CLI应用的调试原理
|
PHP
如何使用Visual Studio Code调试PHP CLI应用和Web应用
在按照Jerry的公众号文章 什么?在SAP中国研究院里还需要会PHP开发? 进行XDebug在本地的配置之后,如果想使用Visual Studio Code而不是Eclipse来调试PHP应用,步骤也比较简单。
1282 0