php常量php_sapi與函式php_sapi_name()簡介,php執行環境檢測
php_sapi 用來判斷是使用命令列還是瀏覽器執行的,如果 php_sapi==』cli』 表示是在命令列下執行
php判斷解析php服務是由那種伺服器軟體,是採用那種協議 直接輸出即可
**如下:
<?php echo php_sapi; ?>
我的測試環境是nginx+fastcgi 輸出結果為:
cgi-fcgi
如果是apache 執行環境,輸出結果為
apache2handler
如果是命令列的形式執行,結果為
cli這就是php_sapi
php_sapi_name() 是用來檢測php執行環境的函式。
該函式返回乙個描述php與web伺服器介面的小寫字串。
返回描述 php 所使用的介面型別(the server api, sapi)的小寫字串。
例如,cli 的 php 下這個字串會是 「cli」,apache 下可能會有幾個不同的值,取決於具體使用的 sapi。
以下列出了可能的值:
aolserver、apache、 apache2filter、apache2handler、 caudium、cgi (直到 php 5.3), cgi-fcgi、cli、 continuity、embed、 isapi、litespeed、 milter、nsapi、 phttpd、pi3web、roxen、 thttpd、tux 和 webjames。
sapi: 伺服器端api,貌似和cgi是乙個東西。每個伺服器提供的api可能不同,但是他們都提供了cgi。
所以可以理解cgi是每個伺服器都應該有的sapi。apache有自己的sapi,iis也有自己的。但是php能在這些不同的伺服器端工作,因為php支援了它們各自的sapi。
php-cli: php命令列介面,php可以工作在這種模式下也可以cgi模式。是sapi的一種,它和cgi提供的功能差不多。
php官方文件 :
php官方文件 :
如何判斷php的執行環境?
閱讀ci**過程中發現,處理uri會根據php的執行環境進行不用處理。
那麼如何判斷php的執行環境呢?
我們一般情況下,都是在apache下面執行我們的php程式,當然也有些人是用iis環境的。
我們要是想知道我們目前執行的環境是什麼的話,那我們可以用函式php_sapi_name()來測試,
**:?12
echo php_sapi_name();
?>
在apache環境下面輸出的結果是「apache2handler」;
在cgi模式下輸出的結果是「cgi-fcgi」
要是在命令列模式下面執行的話,那麼輸出的結果是:」cli」
依據這個內容我們可以判斷當前執行的環境是什麼!
那麼在命令列下怎麼執行呢?
如下:然後輸入php.exe 「檔案的絕對路徑」 如:>php.exe d:/wamp/www/info.php
就可以了。
PHP常量PHP SAPI與函式php sapi
php sapi 用來判斷是使用命令列還是瀏覽器執行的,如果 php sapi cli 表示是在命令列下執行 php sapi name 是用來檢測php執行環境的函式。該函式返回乙個描述php與web伺服器介面的小寫字串。返回描述 php所使用的介面型別 the server api,sapi 的...
PHP 變數與常量
在程式執行的過程中,變數儲存的值可以隨時改變,而常量儲存的值是不可以改變的。變數用於儲存臨時資料資訊。某一變數被定義的時候,系統會自動為該變數分配乙個儲存空間存放變數的值。我們可以在定義變數的時候對其賦值,如果需要改動變數的值,只需再次對其進行賦值即可。對於那些臨時資料資訊或者處理過程,都可以存放在...
PHP 變數與常量
一 變數定義 顧名思義就是可變的量。在記憶體中隨機劃分乙個空間,指明資料型別,按照資料型別來存入值,這個整體稱為變數。二 資料型別 對變數儲存值的範圍進行劃分以加快存值取值的速度的標準。1 數值型 儲存整數的integer 小數的float 單精度浮點型 double 雙精度 浮點型 2 字元型 c...