一笑曾经写过两篇关于在Windows 2003的IIS+PHP+MySQL+Perl组合上安装Movable Type 3.2以上版本时,解决屏幕显示下面提示的解决办法。
CGI Error:The specified CGI application misbehaved by not returning a complete set of HTTP headers.的文章,一篇是使用“权限ActivePerl以ISAPI方式解析CGI程序”解决的,另一篇文章则是官方给出的方法。
我不推荐“权限ActivePerl以ISAPI方式解析CGI程序”的解决办法,因为Movabletype在ISAPI方式解析下很容易出现错误,相信这也是官方为什么不使用这个方法的原因。
而官方的方法也不完全解决这个方法,他们认为导致Movable Type在IIS 6.0(Windows 2003)上安装出现CGI Error的原因是:在Windows 2003 Server下,Movable Type的当前工作路径与CGI脚本路径并不相同。
而我运行mt-check.cgi,发现mt-check.cgi(出现这个问题的时候该check是可以运行的) 并没有出现:
# Current working directory: (path)
# MT home directory: (different path)
所以官方的方法并未能解决该CGI错误,于是昨天晚上我登上服务器进行了查看。因为我是操作面版时,进行权限设置的时候出现该问题,所以我目录权限中入手。
最后发现了显示该CGI 错误提示的原因:目录权限不够。解决方法:进入IIS 在网站“权限”中,将“列出文件夹目录”打勾即可。

Add a Reply