【问题标题】:Server Internal Error : Premature end of script headers in file.cgi服务器内部错误:file.cgi 中的脚本头过早结束
【发布时间】:2009-12-08 18:25:59
【问题描述】:

我正在运行 Apache 服务器。当我使用 ajax 调用从 HTML 向 cgi 发送请求时,我没有得到任何响应。

我在 httpd/error_log 文件中发现了以下错误语句: 脚本头过早结束:file.cgi

当我向状态码发出警报时,它返回 500 Internal Server Error。

如何解决?

【问题讨论】:

    标签: html ajax cgi


    【解决方案1】:

    您没有返回完整的标题集。 CGI 的输出必须采用以下格式:

    [header]
    [blankline]
    [body]
    

    如果您收到“过早结束...”错误,最可能的原因是您没有提供任何标题。至少,您应该返回内容类型,然后返回任何其他可选字段,例如,一个简单的“Hello world”响应将是:

    Content-type: text/plain
    
    Hello world!
    

    或者一个简单的 HTML 示例:

    Content-type: text/html
    
    <html>
    <body>Hello world!</body>
    </html>
    

    您可能希望使用 Content-type 返回的其他标头包括那些控制缓存、cookie、重定向等的标头。

    【讨论】:

    • 谢谢,我搞定了...我必须使用 printf("Content-type: text/html; charset=utf-8\n\n");而不是 printf("%s%c%c\n\n","Content-Type:text/html;charset=iso-8859-1",13,10);
    猜你喜欢
    • 2011-05-19
    • 2011-04-05
    • 1970-01-01
    • 2017-07-22
    • 2013-07-09
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    相关资源
    最近更新 更多