Bug #60146 [Com]: Last 2 lines of page not being output

From: Date: Wed, 26 Oct 2011 22:56:53 +0000
Subject: Bug #60146 [Com]: Last 2 lines of page not being output
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-164597@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=60146&edit=1

 ID:                 60146
 Comment by:         david dot gero at ec dot gc dot ca
 Reported by:        david dot gero at ec dot gc dot ca
 Summary:            Last 2 lines of page not being output
 Status:             Open
 Type:               Bug
 Package:            Built-in web server
 Operating System:   Windows XP
 PHP Version:        5.4.0beta2
 Block user comment: N
 Private report:     N

 New Comment:

Okay, your bug system has me stumped.  Can't upload the test script, because I get the
following:

Error: uploaded patch file must be text file (save as e.g. "patch.txt" or
"package.diff") (detected "text/x-php")
Could not attach patch "testflush.php" to Bug #60146

Interesting bug that "text/x-php" is not considered text.
The test script is only 20 lines, but some of them are long.

Email me with a good return address and I will send the test script to you.  Or maybe you could tell
me how I'm supposed to upload it.


Previous Comments:
------------------------------------------------------------------------
[2011-10-26 22:47:48] david dot gero at ec dot gc dot ca

Test script had lines truncated.  Will try to upload as a patch.

------------------------------------------------------------------------
[2011-10-26 22:43:59] david dot gero at ec dot gc dot ca

Description:
------------
The test script should end with a second "Return to Menu" line.  But the built-in web
server does not output the last 2 lines of the page.
If you remove the comment so that MAXROWS is 1 instead of 2, it works fine.
Turning output buffering off in php.ini has no effect

Test script:
---------------
<?php
//define("MAXROWS", 1); //Uncomment this line to see the second Return to Menu line appear
in the output
if (!defined("MAXROWS")) define("MAXROWS", 2);
$results = '<table border="1">' . PHP_EOL . '<tr><th
scope="col" style="text-align:center">#</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah blah</th><th
scope="col"
style="text-align:center">Blah&nbsp;blah&nbsp;blah&nbsp;blah&nbsp;blah&nbsp;blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col"
style="text-align:center">Blah&nbsp;blah&nbsp;blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah&nbsp;blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col"
style="text-align:center">Blah&nbsp;blah&nbsp;blah&nbsp;blah&nbsp;blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col"
style="text-align:center">Blah&nbsp;blah&nbsp;blah&nbsp;blah&nbsp;blah</th><th
scope="col" style="text-align:center">Blah</th><th
scope="col"
style="text-align:center">Blah&nbsp;blah&nbsp;blah&nbsp;blah&nbsp;blah</th><th
scope="col" style="text-align:center">Blah</th></tr>';
for ($i = 0; $i < MAXROWS; ++$i) $results .= PHP_EOL . '<tr><td
style="text-align:center">0</td><td
style="text-align:center">297</td><td
style="text-align:center">0</td><td
style="text-align:center">4</td><td
style="text-align:center">NULL</td><td
style="text-align:center">9544</td><td
style="text-align:center">NULL</td><td
style="text-align:center">NULL</td><td
style="text-align:center">15</td><td
style="text-align:center">2</td><td
style="text-align:center">63292518</td><td
style="text-align:center">Blah Blah Blah Blah Blah Blah</td><td
style="text-align:center">NULL</td><td
style="text-align:center">5</td><td
style="text-align:center">1</td><td
style="text-align:center">3</td><td
style="text-align:center">5</td><td
style="text-align:center">2581</td><td
style="text-align:center">8</td><td
style="text-align:center">7</td><td
style="text-align:center">66.726003</td><td
style="text-align:center">673.373629</td><td
style="text-align:center">Bla</td><td
style="text-align:center">28-52-6556</td><td
style="text-align:center">1</td><td
style="text-align:center">0539</td><td
style="text-align:center">0946-62</td><td
style="text-align:center">0</td><td
style="text-align:center">7</td><td
style="text-align:center"></td><td
style="text-align:center">9</td><td
style="text-align:center">37</td><td
style="text-align:center">10</td><td
style="text-align:center">1</td><td
style="text-align:center">6</td><td
style="text-align:center">0</td><td
style="text-align:center">2</td><td
style="text-align:center">2</td><td
style="text-align:center">6</td><td
style="text-align:center">5</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center"></td><td
style="text-align:center">BlahBlahBlahBlahBlahBlahBlahBlah.zip</td><td
style="text-align:center"></td><td
style="text-align:center">0</td><td
style="text-align:center">0154-19-62 45:26:74</td><td
style="text-align:center">NULL</td><td
style="text-align:center">8386-95-23 46:29:47</td><td
style="text-align:center">633</td><td
style="text-align:center">5599-96-95 73:86:61</td><td
style="text-align:center">980.050.214.923</td></tr>';
$results .= PHP_EOL . '</table>';
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head><title>Test PHP Exit Flush</title></head>
<body bgcolor="white">
<p><a href="menu.php">Return to Menu</a></p>
<?php echo $results; //the following lines will not be in the output if MAXROWS >= 2 ?>
<p><a href="menu.php">Return to Menu</a></p>
</body></html>
<?php ob_flush(); flush(); //try to flush it out, but doesn't work ?>


Expected result:
----------------
A second "Return to Menu" line should be displayed.

Actual result:
--------------
The following two lines are never output:
<p><a href="menu.php">Return to Menu</a></p>
</body></html>


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=60146&edit=1


Thread (9 messages)

« previous php.bugs (#164597) next »