我的Apache错误日志显示错误“脚本标题出现过早结束”,偶尔会发生,我的站点似乎向浏览器返回500内部服务器错误。 奇怪的是,这会发生几分钟,然后一切都会恢复正常。
Apache Wiki在这个错误上有一个很好的部分列出了最常见的原因:脚本无法正确输出HTTP头。 这听起来像是一个脚本有时会崩溃或超时之前,它输出并刷新你看起来像“脚本标题过早结束”/ 500错误的标题。
如果可能,请尝试在本地testing脚本,以确保在所有条件下都能正确输出标题。
如果您一般使用mod_fcgid或fastcgi,则可能会在apacheconfiguration为使用每个fastcgi进程的subprocess数和/或请求数不匹配,以及php-cgi正在使用的subprocess和/或请求数。 您是在apache的configuration文件中设置fastcgi环境variables,还是使用包装脚本来设置PHP_FCGI_CHILDREN( 必须禁用fcgid)和PHP_FCGI_MAX_REQUESTS?
如果Apache的configuration和PHP的环境variables设置不匹配,那么如果PHP决定在Apache决定它已经达到MAX_REQUESTS之后,PHP将会退出,但是apache仍然会认为它正在接受请求。
你可以阅读更多关于这个和一个示例包装脚本和适当的fcgidconfiguration在这里 。