由於某些原因,我無法使用基本身份驗證在我的服務器上使用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