在开始之前,我想指出我已经浏览了Stack Overflow并发现了其他类似的问题 - PHP_AUTH_USER未设置?和PHP通过PHP验证 - PHP_AUTH_USER未设置? - 并且这些已经指出,如果''Server API''设置为''CGI/FCGI'',则不会设置认证$ _SERVER变量,但是我检查了''phpinfo()''输出和'' 'Server API''设置为''Apache 2.0 Handler''.
好的,我有一个简单的脚本如下:
<?php
echo "Username: " . $_SERVER["PHP_AUTH_USER"] . ", Password: " . $_SERVER["PHP_AUTH_PW"];
?>
Run Code Online (Sandbox Code Playgroud)
...我通过以下方式远程呼叫:
wget -v --http-user=johnsmith --http-password=mypassword http://www.example.com/myscript.php
Run Code Online (Sandbox Code Playgroud)
......但只输出:
Username: , Password:
Run Code Online (Sandbox Code Playgroud)
我还尝试使用PHP cURL调用脚本并正确设置身份验证参数,如下所示:
curl_setopt($ch, CURLOPT_USERPWD, "johnsmith:mypassword");
Run Code Online (Sandbox Code Playgroud)
...但我得到与上面相同的输出.
知道我做错了什么吗?也许我需要启用/配置其他东西?