Php
需要確定如何在 LAMP 配置(CGI、FastCGI 或 mod-php)中呈現 php 文件
如何確定我們的 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,亞德里克