本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

确定PHP脚本的命令行执行与HTTP执行的规范方法是什么?

发布于2021-03-11 03:31     阅读(1255)     评论(0)     点赞(18)     收藏(0)


我有一个PHP脚本,需要确定它是通过命令行还是通过HTTP执行的,主要用于输出格式设置。这样做的规范方法是什么?我以为是要检查的SERVER['argc'],但事实证明,即使使用“ Apache 2.0 Handler”服务器API时,它也已被填充。


解决方案


使用该php_sapi_name()功能。

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

以下是文档中的一些相关说明:

php_sapi_name —返回Web服务器和PHP之间的接口类型

尽管不完整,但可能的返回值包括aolserver,apache,apache2filter,apache2handler,caudium,cgi(直到PHP 5.3),cgi-fcgi,cli,cli-server,continuity,embed,isapi,litespeed,milter,nsapi,phttpd, pi3web,roxen,thttpd,tux和webjames。

在PHP> = 4.2.0中,还有一个预定义的常量,PHP_SAPI其值与相同php_sapi_name()



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/758/08416049a88518f3cc5b/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

18 0
收藏该文
已收藏

评论内容:(最多支持255个字符)