由于某些原因,我无法使用基本身份验证在我的服务器上使用PHP。我正在使用手册页中的确切代码:使用PHP进行基本身份验证会产生无限循环
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
但是,当我运行它时,我无法超越提示。
如果我把这个相同的代码放在我的其他服务器上,它可以正常工作。
有谁知道可能是什么原因造成的?这两个服务器都是WAMP堆栈,并且Apache启用了auth_basic_module。 PHP.ini文件实际上也是相同的。
我瞥了头,在输入用户名/密码后,发送了“Authorization:Basic XXXXXX”标头。
在两个`php.ini`文件中尝试`diff`,以防万一您丢失了某些东西。你也可以比较apache confs。 – ocodo 2011-02-08 00:13:17
参考:http://www.php.net/manual/en/features.http-auth.php – 2011-02-08 00:13:20