我刚刚使用php5isapi.dll从php 5.2.3迁移到php 5.3.0,使用fastcgi和php-cgi.exe。在这个站点上,我有用于Windows/NTLM/HTTP身份验证的钩子,执行如下操作:
if(empty($_SERVER["REMOTE_USER"]))
{
header("HTTP/1.1 401 Unauthorized");
exit;
}
$winuser = $_Server["REMOTE_USER"];
//parse $winuser to make sure it is on my domain, and can login to the site.
//set a cookie specifying that this user is logged in
//redirect to site.
在php 5.2.3和isapi的配合下,这个功能非常好。现在我已经搬到了IIs6上的FastCGI,它已经坏了。它对我有用,但我在服务器上有管理员。没有管理员的人(大多数人)可以看到以下的一些变体:
FastCGI Error
The FastCGI Handler was unable to process the request.
________________________________________
Error Details:
⢠The FastCGI process exited unexpectedly
⢠Error Number: -1073741819 (0xc0000005).
⢠Error Description: Unknown Error
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
我试过翻阅文档和日志文件,但似乎没有任何进展。实际上,我不希望远程用户名用于访问.php文件,我只希望获取名称并与数据库匹配。anon用户应该仍然是实际执行PHP的用户。
有什么线索吗?