array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.php-sapi-name.php', 1 => 'php_sapi_name', ), 'up' => array ( 0 => 'ref.info.php', 1 => 'PHP 选项/信息 函数', ), 'prev' => array ( 0 => 'function.php-ini-scanned-files.php', 1 => 'php_ini_scanned_files', ), 'next' => array ( 0 => 'function.php-uname.php', 1 => 'php_uname', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/info/functions/php-sapi-name.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
php_sapi_name — 返回 web 服务器和 PHP 之间的接口类型
返回描述 PHP 所使用的接口类型(the Server API, SAPI)的小写字符串。 例如,CLI 的 PHP 下这个字符串会是 "cli",Apache 下可能会有几个不同的值,取决于具体使用的 SAPI。 以下列出了可能的值。
此函数没有参数。
返回接口类型的小写字符串, 或者在失败时返回 false
。
尽管不够全面,可能返回的值包括了
apache
、apache2handler
、cgi
(直到
PHP 5.3)、cgi-fcgi
、cli
、cli-server
、embed
、fpm-fcgi
、litespeed
、phpdbg
。
示例 #1 php_sapi_name() 示例
以下示例检测了子字符串 cgi
,因为它也有可能会是 cgi-fcgi
。
<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
echo "You are using CGI PHP\n";
} else {
echo "You are not using CGI PHP\n";
}
?>
注意: 另一种方法
PHP 常量
PHP_SAPI
具有和 php_sapi_name() 相同的值。
定义的 SAPI 可能不够明显,比如它可能定义为 apache2handler
,而不是 apache
。