我查看了有关 stackoverflow 的其他几个问题,通过 PHP 处理这个问题 HTTP Auth - PHP_AUTH_USER 未设置?和PHP_AUTH_USER 没有设置?,但他们都指出将“服务器 API”设置为 CGI 的问题,对我来说,它设置为“Apache 2.0 处理程序”。
我正在使用 UBUNTU 12.04LTS。
我的 docroot 中有一个名为 my.php 的简单脚本:
<?php
echo "Username: " . $_SERVER["PHP_AUTH_USER"] . ", Password: " . $_SERVER["PHP_AUTH_PW"];
?
当我运行 wget 时,我可以看到两者都是空的:
wget -v --http-user=johnsmith --http-password=mypassword http://192.168.1.163/my.php
返回:
Username: , Password:
我启用了以下 apache 模块:
/etc/apache2/mods-enabled
alias.conf authn_file.load authz_host.load autoindex.load deflate.load env.load negotiation.conf php5.load rewrite.load status.conf
alias.load authz_default.load authz_user.load cgi.load dir.conf mime.conf negotiation.load reqtimeout.conf setenvif.conf status.load
auth_basic.load authz_groupfile.load autoindex.conf deflate.conf dir.load mime.load php5.conf reqtimeout.load setenvif.load
我还尝试在我的 .htaccess 中为“AuthType Basic”添加一行,但无济于事。
还有其他需要设置或配置的东西吗?