HTTP基本身份验证在本地环境中运行,但不在生产环境中运行


HTTP Basic Auth runs on local but not on production environment

ı更新和修改了一些应用程序,出于某种原因,我需要添加http基本身份验证。它在机车上运行得很好,但在生产服务器上运行得不好。它不断重复询问用户名和密码。这是等待您帮助的代码。

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Some Tex"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Some warning.';
    exit;
} else {t
}
$apikey = "http://{$_SERVER['PHP_AUTH_USER']}:{$_SERVER['PHP_AUTH_PW']}@someaddress.net/somefolder/some.xml";
$xml=simplexml_load_file($apikey);

等待你宝贵的答案。

所以对于那些有$_SERVER['PHP_AUTH_USER']问题的人来说他们首先需要从phpinfo();检查ServerAPI,如果是CGI,则无法使用$_SERVER['PHP_AUTH_USER']
您需要重新编译PHP。

事实证明,我的SERVER API for php是FastCGI。