php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #34779 Default value of "output_buffering" (4096) causes memory overflow on Windows XP
Submitted: 2005-10-07 14:53 UTC Modified: 2005-11-01 11:57 UTC
Votes:3
Avg. Score:4.7 ± 0.5
Reproduced:0 of 0 (0.0%)
From: jan dot lachman at stringdata dot cz Assigned:
Status: Not a bug Package: Output Control
PHP Version: 5CVS-2005-10-07 OS: WindowsXP
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jan dot lachman at stringdata dot cz
New email:
PHP Version: OS:

 

 [2005-10-07 14:53 UTC] jan dot lachman at stringdata dot cz
Description:
------------
On MS Windows XP Pro (SP2) and Apache 2.0.5.4 has PHP(php5apache2.dll module) a serious problem with value output_buffering = 4096. When I start the web-server, then  I run benchmarking programs (like siege or ab.exe or OpenSTA) and I try to access a small script that includes phpinfo (with 50-100 simulated user connections), I get memory load about 10MB within !one! minute (and growing) - until the RAM (715MB) is available.  Then total crash follows after this.

After two-days testing, we found (with my team-mate) little way to solve this problem. If we set output_buffering = On , it's working perfectly.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-10-07 15:39 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip


 [2005-10-07 16:57 UTC] jan dot lachman at stringdata dot cz
Nothing. I mean without change. With default value (output_buffering = 4096) bad, with output_buffering = On working perfectly. On request I may send screenshot of Task Manager (with-and-without directive). Thanks.
 [2005-10-24 00:28 UTC] edink@php.net
I have just tried 10000 connections to phpinfo() page an memory usage has stablized at around 21 MB for 10 concurrent connections.

Please post a complite test script that would allow us to trace the problem.
 [2005-10-24 09:34 UTC] jan dot lachman at stringdata dot cz
Ok. I use "standard" ab.exe(Win) or OpenSTA(Win) or Siege(from linux), etc on "client" side. On server side I have small script (like index.php) that includes:
<?
phpinfo();
sleep 5;
?>
nothing else. How it works you know. I know that if my php use output_buffering = 4096 - our server goes down, but when I use output_buffering = On, it works perfectly!
 [2005-11-01 11:57 UTC] sniper@php.net
This is impossible. If you set output_buffering to 'On' it's exactly same as setting it to 4096. So you're really doing something else or not telling us everything.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 15:01:28 2024 UTC