• 技术文章 >后端开发 >PHP问题

    php_sapi = cli是什么意思

    藏色散人藏色散人2021-06-10 09:32:26原创53

    “php_sapi=cli”中PHP_SAPI是用来判断是使用命令行还是浏览器执行的,如果“PHP_SAPI==’cli’”则表示是在命令行下执行。

    本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

    php_sapi = cli是什么意思?

    PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测

    PHP_SAPI 用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI==’cli’ 表示是在命令行下执行

    php判断解析php服务是由那种服务器软件,是采用那种协议 直接输出即可

    代码如下:

    <?php
    echo PHP_SAPI;
    ?>

    我的测试环境是nginx+fastcgi 输出结果为:

    cgi-fcgi

    如果是apache 运行环境,输出结果为

    apache2handler

    如果是命令行的形式执行,结果为cli,这就是PHP_SAPI

    php_sapi_name() 是用来检测PHP运行环境的函数。

    该函数返回一个描述PHP与WEB服务器接口的小写字符串。

    返回描述 PHP 所使用的接口类型(the Server API, SAPI)的小写字符串。

    例如,CLI 的 PHP 下这个字符串会是 “cli”,Apache 下可能会有几个不同的值,取决于具体使用的 SAPI。

    以下列出了可能的值:

    aolserver、apache、 apache2filter、apache2handler、 caudium、cgi (直到 PHP 5.3), cgi-fcgi、cli、 continuity、embed、 isapi、litespeed、 milter、nsapi、 phttpd、pi3web、roxen、 thttpd、tux 和 webjames。

    SAPI: 服务器端API,貌似和CGI是一个东西。每个服务器提供的API可能不同,但是他们都提供了CGI。

    所以可以理解CGI是每个服务器都应该有的SAPI。apache有自己的SAPI,IIS也有自己的。但是php能在这些不同的服务器端工作,因为php支持了它们各自的SAPI。

    PHP-CLI: php命令行接口,php可以工作在这种模式下也可以CGI模式。是SAPI的一种,它和CGI提供的功能差不多。

    php官方文档 :http://php.net/manual/zh/reserved.constants.php

    php官方文档 :http://php.net/manual/zh/reserved.constants.php

    +++++++++++++++++++++++++++++++++++++++++++++++++++

    如何判断PHP的运行环境?

    阅读ci代码过程中发现,处理URI会根据php的运行环境进行不用处理。

    那么如何判断php的运行环境呢?

    我们一般情况下,都是在apache下面运行我们的php程序,当然也有些人是用IIS环境的。

    我们要是想知道我们目前运行的环境是什么的话,那我们可以用函数php_sapi_name()来测试,

    代码:

             <!--?php <br ?--> 
             echo 
              php_sapi_name();
            
     
             ?&gt;

    在apache环境下面输出的结果是“apache2handler”;

    在cgi模式下输出的结果是“cgi-fcgi”

    要是在命令行模式下面运行的话,那么输出的结果是:”cli”

    依据这个内容我们可以判断当前运行的环境是什么!

    那么在命令行下怎么运行呢?

    如下:

    进入DOS 进入php.exe文件的地址 如我的是:d:/wamp/bin/php/php5.3.3/

    然后输入php.exe “文件的绝对路径” 如:>php.exe d:/wamp/www/info.php

    就可以了。

    【推荐学习:PHP视频教程

    以上就是php_sapi = cli是什么意思的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php_sapi
    上一篇:php怎么删除全部文件内容 下一篇:php怎么遍历文件夹并修改文件夹下文件名称
    第16期线上培训班

    相关文章推荐

    • 如何安装vue.cli脚手架• 怎么安装vue-cli• php cli 中文乱码怎么办• 浅谈PHP的CLI命令行运行模式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网