我有一个CGI脚本,通常运行良好。
但是,在某些情况下,它可能会失败,从而导致非零退出代码.有时,在失败之前,它已经输出了标头等。
例如,输出可能只是:
Content-Type: text/html; charset=utf-8
<empty body>然后,程序退出代码为123。
目前,Apache将其视为HTTP 200,并愉快地将一个空白页返回给用户。
有什么办法让Apache将这样的程序失败视为错误吗?
实际上,我原以为在这种情况下它会返回HTTP 500,但显然我错了(或者某些东西配置错误)。
发布于 2014-01-24 01:04:43
无法获得mod_ CGI /mod_cgid来缓冲状态行/头/正文,以确保CGI最终成功退出。即使是空体,也为时已晚,因为状态行一结束就写好了。
除了对Apache的增强之外,您的CGI还必须缓冲它自己的stdout,或者您必须将它封装在一个缓冲所有stdout并运行CGI才能完成的东西中。
https://stackoverflow.com/questions/21300502
复制相似问题