Discuz论坛在Windows2008的系统下Ucenter通信失败的问题

当我们接到一些客户的Discuz论坛的Ucenter无法正常使用,在进入Ucenter后,点击“应用管理”,右边出现通信失败的信息,后来查看源代码,发现是在

UCentermodelmisc.php

这个文件中的dfopen函数有问题,在其中的

$out .= "Host: $host:$portrn";

中,使用了:port

比如,www.abc.com,一般使用的是80端口,这里就会变成

Host: www.abc.com:80

本来这些在IIS6下是没有问题的,但是当在IIS7下运行的话,就会出现

Moved Permanently

The document has moved here.

 

而不是直接返回1,所以呢,Ucenter就会认为通信失败。

所以当把$out .= "Host: $host:$portrn";改成$out .= "Host: $hostrn";

就没问题了。