如何在 nginx 中获取 PHP_AUTH_USER 和 PHP_AUTH_PW?

如何在 nginx 中获取 PHP_AUTH_USER 和 PHP_AUTH_PW?

我有一个 Magento 模块,需要$_SERVER['PHP_AUTH_USER']变量$_SERVER['PHP_AUTH_PW']

apache在其文档中,建议进行以下设置:

SetEnvIfNoCase Authorization "Basic ([a-z0-9=]+)" REMOTE_AUTHORIZATION=$

但我正在使用nginx。我可以在我的.conf文件中添加什么来支持这些变量?

答案1

这应该够了吧:

fastcgi_param PHP_AUTH_USER $remote_user;
fastcgi_param PHP_AUTH_PW $http_authorization;

编辑:请阅读我回答的评论。这只允许您在用户已通过 nginx 而不是 PHP 身份验证的情况下访问变量。在 nginx 中无法访问 PHP 变量,因为 nginx 是PHP 仅通过 FastCGI 协议与 PHP 通信。如果您使用 Apache httpd,情况会有所不同modphp

相关内容