httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rodent of Unusual Size <c...@hyperreal.com>
Subject cvs commit: apache/htdocs/manual/misc FAQ.html
Date Thu, 12 Jun 1997 15:24:04 GMT
coar        97/06/12 08:24:04

  Modified:    htdocs/manual/misc  FAQ.html
  Log:
  	Clean up "premature end of headers" FAQ and add additional
  	(and more common) cause description.
  
  Revision  Changes    Path
  1.71      +33 -12    apache/htdocs/manual/misc/FAQ.html
  
  Index: FAQ.html
  ===================================================================
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/FAQ.html,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -C3 -r1.70 -r1.71
  *** FAQ.html	1997/06/12 11:29:11	1.70
  --- FAQ.html	1997/06/12 15:24:00	1.71
  ***************
  *** 15,21 ****
      <!--#include virtual="header.html" -->
      <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1>
      <P>
  !   $Revision: 1.70 $ ($Date: 1997/06/12 11:29:11 $)
      </P>
      <P>
      The latest version of this FAQ is always available from the main
  --- 15,21 ----
      <!--#include virtual="header.html" -->
      <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1>
      <P>
  !   $Revision: 1.71 $ ($Date: 1997/06/12 15:24:00 $)
      </P>
      <P>
      The latest version of this FAQ is always available from the main
  ***************
  *** 569,595 ****
      <P>
      It means just what it says: the server was expecting a complete set of
      HTTP headers (one or more followed by a blank line), and didn't get
  !   them.  The most common cause of this (aside from people not
  !   outputting the required headers at all) a result of an interaction
  !   with perl's output buffering.  To make perl flush its buffers 
  !   after each output statement, insert the following statements before your
  !   first <CODE>print</CODE> or <CODE>write</CODE> statement:
      </P>
      <P>
      <DL>
  !    <DD><CODE>$cfh = select (STDOUT);<BR>
  !     $| = 1;<BR>
  !     select ($cfh);</CODE>
       </DD>
      </DL>
      </P>
      <P>
      This is generally only necessary when you are calling external 
      programs from your script that send output to stdout, or if there will
  !   be along delay between the time the headers are sent and the actual
      content starts being emitted.  To maximise performance, you should
  !   turn buffering back <EM>on</EM> (with <CODE>$| = 0</CODE> or
the
  !   equivalent) after the statements that send the headers.
      <P>
      If your script isn't written in Perl, do the equivalent thing for
      whatever language you <EM>are</EM> using (<EM>e.g.</EM>, for
C, call 
  --- 569,616 ----
      <P>
      It means just what it says: the server was expecting a complete set of
      HTTP headers (one or more followed by a blank line), and didn't get
  !   them.
  !   </P>
  !   <P>
  !   The most common cause of this problem is the script dying before
  !   sending the complete set of headers, or possibly any at all, to the
  !   server.  To see if this is the case, try running the script standalone
  !   from an interactive session, rather than as a script under the server.
  !   If you get error messages, this is almost certainly the cause of the
  !   &quot;premature end of script headers&quot; message.
  !   </P>
  !   <P>
  !   The second most common cause of this (aside from people not
  !   outputting the required headers at all) is a result of an interaction
  !   with Perl's output buffering.  To make Perl flush its buffers 
  !   after each output statement, insert the following statements around
  !   the <CODE>print</CODE> or <CODE>write</CODE> statements that
send your
  !   HTTP headers:
      </P>
      <P>
      <DL>
  !    <DD><CODE>{<BR>
  !     &nbsp;local ($oldbar) = $|;<BR>
  !     &nbsp;$cfh = select (STDOUT);<BR>
  !     &nbsp;$| = 1;<BR>
  !     &nbsp;#<BR>
  !     &nbsp;# print your HTTP headers here<BR>
  !     &nbsp;#<BR>
  !     &nbsp;$| = $oldbar;<BR>
  !     &nbsp;select ($cfh);<BR>
  !     }</CODE>
       </DD>
      </DL>
      </P>
      <P>
      This is generally only necessary when you are calling external 
      programs from your script that send output to stdout, or if there will
  !   be a long delay between the time the headers are sent and the actual
      content starts being emitted.  To maximise performance, you should
  !   turn buffer-flushing back <EM>off</EM> (with <CODE>$| = 0</CODE>
or the
  !   equivalent) after the statements that send the headers, as displayed
  !   above.
  !   </P>
      <P>
      If your script isn't written in Perl, do the equivalent thing for
      whatever language you <EM>are</EM> using (<EM>e.g.</EM>, for
C, call 
  
  
  

Mime
View raw message