PHP - 如何最好地确定当前调用是来自CLI还是Web服务器?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (95)

我需要确定当前的PHP调用是来自命令行(CLI)还是来自Web服务器。

各位有没什么推荐的好方法呢?

提问于
用户回答回答于

php_sapi_name是你希望使用的函数,因为它会返回接口类型的小写字符串。另外,还有PHP常量PHP_SAPI

文档可以在这里找到:http//php.net/php_sapi_name

例如,要确定是否从CLI运行PHP,可以使用以下函数:

function isCommandLineInterface()
{
    return (php_sapi_name() === 'cli');
}
用户回答回答于

我认为他的意思是如果PHP CLI被调用或者它是来自Web请求的响应。php_sapi_name()如果它运行的是web请求,最好的方法是使用它,如果这是它正在运行的情况,则会回显Apache。

要从PHP 文档中php_sapi_name()获取一些列表:

  • AOLserver的
  • 阿帕奇
  • apache2filter
  • apache2handler
  • Caudium服务器
  • CGI(直到PHP 5.3)
  • CGI-FCGI
  • CLI
  • 连续性
  • FPM-FCGI
  • ISAPI
  • 的Litespeed
  • 雄鱼
  • NSPI
  • phttpd
  • Pi3Web服务器
  • Roxen的
  • THTTPD
  • 晚礼服
  • webjames

扫码关注云+社区

领取腾讯云代金券