首页 > 后端开发 > php教程 > 如何确定 PHP 脚本是在命令行上运行还是通过 HTTP 运行?

如何确定 PHP 脚本是在命令行上运行还是通过 HTTP 运行?

Barbara Streisand
发布: 2024-11-15 18:33:03
原创
897 人浏览过

How to Determine if a PHP Script is Running on the Command Line or via HTTP?

确定 PHP 中的脚本执行模式

确定 PHP 脚本是通过命令行还是 HTTP 执行对于各种目的都至关重要,例如输出格式。从历史上看,检查 SERVER['argc'] 变量被认为是规范的方法。然而,在使用 Apache 2.0 Handler 服务器 API 时,此方法被证明是不可靠的,因为即使在命令行执行中,它也会填充 SERVER['argc']。

推荐的更可靠的方法是利用 php_sapi_name() 函数。它返回一个字符串,指示 Web 服务器和 PHP 之间的接口类型。示例包括:

  • 用于命令行执行的“cli”
  • 用于 Apache 2.0 处理程序服务器 API 执行的“apache2handler”

示例代码:

文档注释:

php_sapi_name() 函数文档提供了更多信息:

  • 可能的返回值:虽然并不详尽,但该函数可能返回诸如“apache”、“cgi”、“nsapi”和“tux”之类的值,代表不同的服务器 API。
  • PHP >= 4.2.0: PHP 引入了一个预定义常量 PHP_SAPI,它与 php_sapi_name() 具有相同的值。

以上是如何确定 PHP 脚本是在命令行上运行还是通过 HTTP 运行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板