Categories: BLOG
我安装的MovableType是2.661版本,除了UPLOAD FILE功能外,其他功能在新的服务器上一切正常。
经过调试,终于解决了这个问题。解决方法是这样的:
1、由于UPLOAD FILE报告的错误是CGI open of tmpfile: Permission denied,所以我先检查mt.cfg中TempDir配置的目录权限是否足够。经过检查没有问题。
2、接着我在MovableType的源码中搜索CGI open of tmpfile字符串,找到了报告错误的地方(CGI.pm中),修改这部分代码,让脚本出错时输出文件名。经过调试发现无论mt.cfg中的TempDir设置什么内容,脚本创建的临时文件都在c:\tmp下。这就是问题所在。
3、接着检查ConfigMgr.pm,发现这部分代码没有问题,应该正确读出了TempDir的配置。所以问题可能出在上传文件时脚本没有使用配置的路径。
4、为了快速解决问题,修改CGI.pm中的$CGITempFile::TMPDIRECTORY为mt.cfg中的TempDir的值,测试问题解决。
这个解决方法不是很漂亮,不过能先让MovableType正确工作就好。等有时间慢慢研究一个更好的解决办法(找到MovableType中负责上传的代码,正确从配置中设置临时目录)。
Posted by dumm at April 17, 2004 07:53 PM