Php

需要確定如何在 LAMP 配置(CGI、FastCGI 或 mod-php)中呈現 php 文件

  • December 25, 2010

如何確定我們的 php 文件如何在簡單的 LAMP 配置中呈現?

phpinfo 顯示:

-- Configure Command --
--enable-force-cgi-redirect
--enable-fastcgi

-- Server API --
CGI/FastCGI

-- cgi-fcgi --
Directive               Local Value Master Value
cgi.check_shebang_line  1  1
cgi.fix_pathinfo     1  1
cgi.force_redirect      1  1
cgi.nph                 0  0
cgi.redirect_status_env no value no value
cgi.rfc2616_headers     0  0
fastcgi.logging         1  1

phpinfo 應該真正為您提供有關目前 PHP 實現所需的所有資訊。它為您提供執行的 PHP 解釋器,它的配置指令,以及讓您知道您是在 mod_php 還是基於 cgi 中執行(在您的情況下,通過 CGI/FastCGI 基於 cgi)。

您目前希望獲得什麼樣的附加資訊?

如果您對伺服器具有 shell 訪問權限(或可以偽造它),您可能能夠查看 apache 配置(或其他 httpd)或程序表(fcgid)以獲取提示。

shell php (cli) 和 web php (cgi +) 也可能不是相同的版本或使用相同的配置。

這是關於 cgi 安全性的說明:http ://us.php.net/manual/pl/security.cgi-bin.php 有一條評論說:“注意:將 PHP 作為 CGI 程序執行將改變 $ 的值_伺服器

$$ ‘SCRIPT_NAME’ $$. 通過(普通)mod_PHP 機制執行時,它將被設置為正在執行的 PHP 腳本的名稱(實際上是路徑)。通過 CGI 執行時,它將改為指向 CGI 二進製文件的路徑。” 我懷疑執行時變數中會有線索,所以值得檢查。

hth,亞德里克

引用自:https://serverfault.com/questions/63902