首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 判斷執行環境(Apache / CGI / CLI)的方法

     編輯:PHP 綜合知識

核心函數:php_sapi_name()

PHP 提供內建函數 php_sapi_name() 回傳當前執行介面(SAPI)類型,常見回傳值如下:

執行環境回傳值
Apache 模組(mod_php)apache2handler
CGI / FastCGIcgi-fcgi
命令列(CLI)cli
內建伺服器cli-server
FPM (php-fpm)fpm-fcgi

實際應用範例

<?php
$sapi = php_sapi_name();

if (strpos($sapi, 'apache') !== false) {
    echo '運行於 Apache 模組模式';
} elseif ($sapi === 'cli') {
    echo '命令列模式執行';
} elseif ($sapi === 'cgi-fcgi' || $sapi === 'fpm-fcgi') {
    echo 'FastCGI / PHP-FPM 模式';
} else {
    echo "其他 SAPI: $sapi";
}
?>

常見使用場景

  • CLI 專用邏輯:排程任務、佇列消費者、遷移腳本僅允許 CLI 執行。
  • Web 環境區分:Apache 與 PHP-FPM 的路徑、權限、超時設定可能不同。
  • 安全防護:禁止 Web 存取特定管理腳本(判斷非 cli 時拒絕)。

補充:常數 PHP_SAPI

PHP_SAPI 常數與 php_sapi_name() 回傳值相同,效能略高(無函數呼叫),推薦直接使用常數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved