I無法使用基本HTTP身份驗證在安裝並作爲FCGI工作的PHP中工作。當PHP作爲模塊安裝時,它可以很好地工作。使用PHP作爲FCGI運行的HTTP身份驗證
有什麼辦法可以讓它工作?
我在ubuntu中運行PHP版本5.2.6。
<?Php
if (!$_SERVER['PHP_AUTH_USER']) {
$this->getResponse()->setHeader('WWW-Authenticate', 'Basic realm="Testing"');
$this->getResponse()->setBody('Unauthorized');
$this->getResponse()->setHttpResponseCode(401);
} else {
var_dump($_SERVER['PHP_AUTH_USER']);
var_dump($_SERVER['PHP_AUTH_PW']);
}
我曾嘗試
[Rewrite rule on .htaccess]
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
[user:pass on PHP-script]
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6)));
,但它似乎沒有奏效。
FWIW,我最近研究了同樣的東西,看起來它不起作用。如果有人可以回來的解決方案,我會喜歡它。 – deceze
你的第一個代碼片段看起來像一個方法的一部分 - 但沒有類? – symcbean