PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
2015-06-07 18:43
597 查看
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()来测试,
代码:
?
在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模版引擎(smarty3)—优化(定界符,避免和其他语言的冲突)
- PHP正则表达式的快速学习方法2
- PHP正则表达式的快速学习方法
- PHP preg_match正则表达式详解
- php模版引擎(smarty3)—优化(选择注释)
- (转)PHP 函数的实现原理及性能分析
- php跨平台—绝对路径(获取绝对路径、定义常量、使用常量引入文件示例)
- H264的RTP负载打包的数据包格式,分组,分片
- 深入PHP使用技巧之变量
- 【PHP】php 递归、效率和分析(转)
- PHP 学习笔记 01
- php+MySQL图书管理系统(二)
- MVC调用函数function.php
- 第四天 ThinkPHP手把手快速拼接网站(四)
- contentprovider的学习实例总结
- 根据C# 事件思想来实现 php 事件
- php的var关键字
- 去掉CI默认url中的index.php
- PHP “Warning: session_start()...” 的解决方法