《http 500内部服务器错误》终极解决方案

作者: 坎肩儿 分类: 故障排查 发布时间: 2010-05-06 08:39

http 500内部服务器错误,IIS无法解析ASP/PHP等动态网页

在XP中的解决方案: 

出现这样的情况是主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了HTTP 500内部错误。 

排除了一些基本的可能性外,我在网上搜寻了一下解决办法。最后终于解决了这个问题,在此分享一下。 

先启动MSDTC服务,什么是MSDTC服务?显示名称:Distributed Transaction Coordinator;描述:协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止此服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。 
CMD下net start msdtc 
结果显示“distributed transaction coordinator 服务不能启动”。 
解决方法: 
把 C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有就直接省去这一步),然后重新建立该目录。 
在命令行下: msdtc -resetlog 
再net start msdtc,显示服务启动成功了。 

然后右键我的电脑–管理–本地用户和组,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样。 

接着开始–运行–打cmd, 
然后cd C:\Inetpub\AdminScripts, 
然后cscript.exe adsutil.vbs set w3svc/wamuserpass 你设置的密码, 
然后cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你设置的密码。 

看一下,行了没有?如果还不行,那么 
cscript.exe synciwam.vbs -v, 
然后iisreset。 

到一步还是不行,最后在CMD下执行以下命令: 
cd %windir%\system32\inetsrv 

rundll32 wamreg.dll, CreateIISPackage 

regsvr32 asptxn.dll 

关闭所有的IE窗口后重新打开再执行,OK了!