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