首页 >后端开发 >php教程 >如何判断PHP脚本是通过命令行执行还是通过HTTP请求执行?

如何判断PHP脚本是通过命令行执行还是通过HTTP请求执行?

Patricia Arquette
Patricia Arquette原创
2024-12-29 00:37:10910浏览

How do I Determine if a PHP Script is Executed via Command Line or HTTP Request?

区分 PHP 中的命令行执行和 HTTP 执行

确定 PHP 脚本是通过命令行执行还是通过 HTTP 请求执行非常重要用于自定义输出格式。虽然检查 SERVER['argc'] 变量似乎是一种有效的方法,但它并不总是准确的,即使使用 Apache 的“Apache 2.0 Handler”服务器 API 也是如此。

完成此任务的规范方法是 php_sapi_name() 函数。

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

如 PHP 中指定文档:

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

可能的返回值包括“apache2handler”、“cgi”、“cli”、“ isapi、”“litespeed”等

或者,您可以使用PHP_SAPI 常量,与 php_sapi_name() 具有相同的值,在 PHP 4.2.0 版本中引入。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn