需要确定 php 文件在 LAMP 配置(CGI、FastCGI 或 mod-php)中的呈现方式

需要确定 php 文件在 LAMP 配置(CGI、FastCGI 或 mod-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

答案1

phpinfo 应该会为您提供有关当前 PHP 实现的所有信息。它为您提供正在运行的 PHP 解释器、其配置指令,并让您知道您是在 mod_php 中运行还是在基于 cgi 的环境中运行(在您的情况下是基于 cgi 的,通过 CGI/FastCGI)。

您目前希望获得哪些类型的更多信息?

答案2

如果您有服务器的 shell 访问权限(或者可以伪装成服务器),您可能能够查看 apache 配置(或其他 httpd)或进程表(fcgid)以获取提示。

还有可能,shell php(cli)和web php(cgi+)可能不是同一个版本或者使用相同的配置。

以下是关于 CGI 安全性的说明:http://us.php.net/manual/pl/security.cgi-bin.php 其中有一条注释:“注意:将 PHP 作为 CGI 程序运行将改变 $_SERVER['SCRIPT_NAME'] 的值。通过(正常)mod_PHP 机制运行时,它将被设置为正在运行的 PHP 脚本的名称(实际上是路径)。通过 CGI 运行时,它将指向 CGI 二进制文件的路径。”

我怀疑运行时变量中会有一个线索,所以值得检查。

hth,adric

相关内容