PHP CGI - 由于未返回完整的HTTP标头集而行为不端

时间:2012-09-17 13:40:02

标签: php iis-7

我有IIS7并尝试呈现示例PHP脚本。请注意,我将Windows身份验证设置为ON:

<?php
   echo "Content-Type: text/html";
   echo "\n";  
   echo "BEGIN\n";
   echo "END";
?>

但我收到以下错误:

HTTP Error 502.2 - Bad Gateway
    The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are "<b>Security Alert!</b> The PHP CGI cannot be accessed directly. <p>This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.</p> <p>For more information as to <i>why</i> this behaviour exists, see the <a href="http://php.net/security.cgi-bin">manual page for CGI security</a>.</p> <p>For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit <a href="http://php.net/install.windows">the manual page</a>.</p>"

Module  CgiModule

Notification    ExecuteRequestHandler
Handler PHP
Error Code  0x00000103
Requested URL   http://localhost:8080/phpinfo.php
Physical Path   C:\inetpub\wwwroot\phpinfo.php
Logon Method    Anonymous
Logon User  Anonymous

但是:

在C:\ PHP \ php.ini:

cgi.force_redirect = 0
cgi.redirect_status_env = REDIRECT_STATUS

c:\PHP>php-cgi.exe C:\inetpub\wwwroot\phpinfo.php
X-Powered-By: PHP/5.2.17
Content-type: text/html

Content-Type: text/html
BEGIN
END
c:\PHP>

请告诉我如何解决此问题?实际上我需要$ _SERVER ['LOGON_USER']变量的值来知道哪个内网用户正在访问我们的内部网站点?

:: UPDATE ::

通过修改php.ini文件解决了这个问题 - 它似乎是一些默认配置,设置为OFF需要打开:

http://www.thesitewizard.com/php/install-php-5-apache-windows.shtml

0 个答案:

没有答案