ID: 27511 Updated by: [EMAIL PROTECTED] Reported By: patrick at borgeat dot de -Status: Open +Status: Bogus Bug Type: Filesystem function related Operating System: Windows 2000 SR4 PHP Version: 5.0.0b4 (beta4) New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php When you call fread() PHP will try to allocate enough memory to store all of the data that you want to read. Meaning that in your case it'll try to allocate approximately 1078508183 bytes. This fails and causes the script to exit OR if you have enough memory and/or swap try to allocate this much memory which would take a VERY long time. Previous Comments: ------------------------------------------------------------------------ [2004-03-06 07:07:46] patrick at borgeat dot de I forgot a Semikolon (;) after "echo $res", sorry! ------------------------------------------------------------------------ [2004-03-06 04:53:43] patrick at borgeat dot de Description: ------------ As I mistakenly tried to read a very large number of bytes (1078508183) (more than are in the file) with fread, the Site doesn't react anymore and i get a apache.exe Task in my Tasklist consuming an average of 80% CPU Load (with a 1300 Mhz Machine) which can't be stopped (maybe also due to missing rights). Also the file is blocked. Never tested this on Linux, but I think if a server does this mistakenly several times at once the whole server enviroment would crash. I run Apache 2.0.48 with PHP 5.0.0b4 as Apache2 Handler on Windows 2000 SR4 on FAT32 Filesystem. Reproduce code: --------------- (in my case test was a textfile with the 3 Letters "AAA") <? $fp = fopen("test",r"); $res = fread($fp,1078508183); echo $res fclose($fp); ?> Expected result: ---------------- I expected PHP to be as smart (as it is with smaller numbers for example like 50 000) to write only 3 Bytes and output "AAA". Actual result: -------------- Apache Task isn't stopable and runs @ Average of 80% CPU Load ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27511&edit=1