php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9754 Canceled stdout streams end up in apache's error_log
Submitted: 2001-03-14 13:02 UTC Modified: 2001-03-15 23:41 UTC
From: seth at brivo dot com Assigned:
Status: Closed Package: Filesystem function related
PHP Version: 4.0.4pl1 OS: Linux 2.4.2
Private report: No CVE-ID: None
 [2001-03-14 13:02 UTC] seth at brivo dot com
If you readfile() a large file, then cancel the stream, the entire file ends up in the error_log.  For some reason, on stream cancel, it then writes the file into Apache's error_log.

Simple script:

header("Content-type: audio/mpeg");
header("Content-length: $song[size]");
@readfile($song[filename]);

Just start this, cancel the stream, and watch your error_log.

I tried manipulating php.ini's error log attributes, but it didn't help.  I turned off all logging, and it still showed up.

It's important to note it's not only readfile() that can place its contents into error_log.  I see this with other large (very large) outputs of just text.  If I cancel the downloading of a very large result page from PHP, it too will end up in the error_log.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-03-15 21:14 UTC] sniper@php.net
This should be fixed in CVS.
Try latest CVS snapshot from http://snaps.php.net/

--Jani

 [2001-03-15 23:41 UTC] seth at brivo dot com
I tried the latest version from CVS (3/15/01) and it fixed the problem!

Thanks,
Seth
 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Fri Dec 02 20:03:58 2022 UTC