php的SAPI,CLI SAPI,CGI SAPI

简介: 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:手册上有很详细的说明:


相关文章
|
19天前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
30 5
|
10月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
73 0
|
11月前
|
Shell Linux PHP
PHP CLI的命令行模式的理解
PHP CLI的命令行模式的理解
61 0
|
监控 应用服务中间件 PHP
PHP 本身支持 CGI、FastCGI、mod_php、php-fpm的模式区别是什么?底层原理是什么?
PHP 本身支持 CGI、FastCGI、mod_php、php-fpm的模式区别是什么?底层原理是什么?
114 0
|
网络协议 Unix API
CGI和PHP的关系是什么?底层原理是什么?
CGI和PHP的关系是什么?底层原理是什么?
120 0
|
应用服务中间件 PHP nginx
php cli web server with rewrite router
php cli web server with rewrite router
65 0
|
负载均衡 Java 应用服务中间件
[CGI,Nginx,FastCGI,编程语言,服务器端]FastCGI在PHP与Nginx之间的作用介绍
  一:什么是 CGI?   服务器端编程语言如(如php/java)与Web服务器之间传递信息的协议,约定了http头、表单等信息的传递接口;   二:FastCGI 是什么?
105 0
|
PHP Android开发
PHP CLI应用的调试原理
PHP CLI应用的调试原理
109 0
PHP CLI应用的调试原理
|
9月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
85 0