ro *_* ko 3 php apache fastcgi
我无法让基本的 HTTP 身份验证在安装并作为 FCGI 工作的 PHP 中工作。但是,当 PHP 作为模块安装时,它可以完美运行。
有什么办法可以让它工作吗???
我在 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']);
}
Run Code Online (Sandbox Code Playgroud)
我确实尝试过
[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)));
Run Code Online (Sandbox Code Playgroud)
但它似乎没有工作。
删除你的 .htaccess 并用这一行写一个新的:
SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
并且您的 PHP 将正常工作。
| 归档时间: |
|
| 查看次数: |
5089 次 |
| 最近记录: |