Last 2 lines of page not being output
| Bug #60146 | Last 2 lines of page not being output | ||||
|---|---|---|---|---|---|
| Submitted: | 2011-10-26 22:43 UTC | Modified: | 2011-10-29 02:14 UTC | ||
| From: | david dot gero at ec dot gc dot ca | Assigned: | laruence (profile) | ||
| Status: | Closed | Package: | Built-in web server | ||
| PHP Version: | 5.4.0beta2 | OS: | Windows XP | ||
| Private report: | No | CVE-ID: | None | ||
[2011-10-26 22:43 UTC] 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 blah blah blah blah 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 blah 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</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 blah blah blah blah</th><th scope="col" style="text-align:center">Blah</th><th scope="col" style="text-align:center">Blah blah blah blah blah</th><th scope="col" style="text-align:center">Blah</th><th scope="col" style="text-align:center">Blah blah blah blah 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>
Patches
php.ini (last revision 2011-10-27 14:49 UTC by david dot gero at ec dot gc dot ca)Pull Requests
History
AllCommentsChangesGit/SVN commits
[2011-10-26 22:47 UTC] david dot gero at ec dot gc dot ca
[2011-10-26 22:56 UTC] david dot gero at ec dot gc dot ca
[2011-10-27 09:50 UTC] laruence@php.net
[2011-10-27 14:33 UTC] david dot gero at ec dot gc dot ca
[2011-10-27 15:00 UTC] david dot gero at ec dot gc dot ca
[2011-10-27 18:06 UTC] david dot gero at ec dot gc dot ca
[2011-10-29 02:14 UTC] laruence@php.net
-Status: Feedback +Status: Closed -Assigned To: +Assigned To: laruence