I've encountered a similar problem, and I believe I know what's happening. My experience is not with mt-comments.cgi, but rather with mt-xmlrpc.cgi -- I'm posting this in the hopes that the two issues are related.
I am using MovableType with the
Twisted Web server, and although mt-comments.cgi works well, I am unable to make any posts to mt-xmlrpc.cgi with any blogging tools.
Below is the error listed in my web server log:
CODE
2003/11/04 23:10 EST [-] Premature end of headers in mt-xmlrpc.cgi:
Status: 200 OK
Content-Length: 440
Content-Type: text/xml
SOAPServer: SOAP::Lite/Perl/0.55
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse><params>...
...and so on. This looks normal, and one might wonder why this is happening. So I whipped out Python, read the file, and noticed the exact format of the whitespace:
CODE
SOAPServer: SOAP::Lite/Perl/0.55\n
\r
\n
<?xml version="1.0" encoding="UTF-8"?>...
Aha! This violates HTTP standards, as far as I can tell. The appropriate way to separate headers from response is with either
\n\n,
\r\r, or
\r\n\r\n. The above is none of the three; it's a mix, one which some web servers ignore, but some (including mine) do not.
Unfortunately, as far as I can tell, this doesn't look like it's a MovableType error -- it looks like it's either part of SOAP::Lite, HTTP::Headers, or HTTP::Response. I'm not a very good Perl hacker, so I can't tell what needs to be fixed, but it looks to me like this standards-incompliance is the problem.
Can anyone else who's having this problem open your log files with Python or a hex editor and find out whether your MT scripts are doing the same thing?