1.'绝对路径' script produced no output
这个问题的根本来自于看了平生一笑这篇文章后,安装perl安装成了isapi方式,虽然执行速度快,但经常会出现这个错误。
原因在于IIS对perl Isapi方式支持不行,有多行字节溢出的问题。
最彻底的解决办法就是全部改成perl命令行解释的方法。
之前被这篇文章图片误导,将解析方式写成了
c:\xxx\perl.exe %s %s"
结果不行。
请参考这篇文章:在IIS6中配置PHP/Perl支持
应当写成:
c:\xxx\perl.exe ”%s“ %s
尤其注意在“Web 服务扩展”面板中要将CGI Extension中的执行方式改成这样。
2.CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.
这个问题的解决办法如下
Web站点上点右键->新建虚拟目录,目录名自己写,指向mt.cgi文件所在目录。
下载这个官方的Bootstrap.pm文件,将其拷贝到lib/MT/Bootstrap.pm,覆盖原文件
这步非常重要!
官方原文(下面是平生一笑的翻译):
---------------------------------------------
导致Movable Type在IIS 6.0(Windows 2003)上安装出现CGI Error的原因是,在Windows 2003 Server下,Movable Type的当前工作路径与CGI脚本路径并不相同,运行mt-check.cgi,你会发现,mt-check.cgi:
# Current working directory: (path)
# MT home directory: (different path)
这里的Current working directory和MT home directory指向了不同的路径。要解决此问题,请按照以下步骤操作:
* 在IIS下创建一个虚拟目录,指向Movable Type CGI脚本所在的物理路径,即mt-check.cgi报告的MT home directory;
* 下载这个新的Bootstrap.pm文件,将其拷贝到lib/MT/Bootstrap.pm,覆盖原文件;
* 编辑mt-config.cgi文件,设置CGIPath为刚才建立的虚拟目录的URL;
* 再次运行mt-check.cgi,你会发现 Current working directory 和 MT home directory 的路径相同,都指向了文件真实的物理路径。
-------------------------------------------------
但实际上我发现,只要虚拟目录指向mt所在目录即可,不一定要二者相同的
下面是我的配置对比。
# Current working directory: C:/iis/.../www/kingda/cgi-bin
# MT home directory: C:\iis\...\www\kingda\cgi-bin\
然后用你的域名加那个虚拟目录名访问mt.cgi即可了。
MT3.34成功运行,霍哈哈。终于可以使用Tags了