Home » Caching » Cache_Lite » Bug #9836
fread() in _read function malfunctioning
Details
| Request #9836 | fread() in _read function malfunctioning |
|---|---|
| Submitted | 2007-01-15 11:46 UTC |
| From | consensus at gmail dot com |
| Status | No Feedback |
| Package | Cache_Lite |
| PHP Version | 5.1.2 |
| OS | Linux |
| Roadmaps | (Not assigned) |
Comments
[2007-01-15 11:46 UTC] consensus at gmail dot com
Description:
------------
Hi,
I've been debugging in for a few hours to hunt my problem down to a buggy @fread() result.
The problem is that the save() call returns false because of the hash value check after storing the file.
The problem is within the "function _read()" of Lite.php
The filesize() function returns the correct size (about 150kb)
But fread($fp,$length); // note that $length is verified to be correct!
returns only 16kb of data (-32 bytes of the previous call..)
I know it's weird, but it's a fact here.
A small testscript which does an fopen,fread,fclose worked fine so it is somehow related to Cache_Lite, or some command cache lite executed within initialization.
I solved the Problem by using a loop while ($fp) {} appending 2kb chunks of data from the local file.
This way the file is loaded correctly.
I suggest to alter this part of Cache_Lite, it should have a very tiny performance impact and will ensure the stability of Cache_Lite in all applications and php versions.
best regards