我如何确定我们的 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