首頁 >後端開發 >php教程 >如何判斷PHP腳本是透過命令列執行還是透過HTTP請求執行?

如何判斷PHP腳本是透過命令列執行還是透過HTTP請求執行?

Patricia Arquette
Patricia Arquette原創
2024-12-29 00:37:10931瀏覽

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