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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: seth at brivo dot com
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 21:01:28 2024 UTC