首先一个问题:在命令行下执行: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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。