ID: 29922
Comment by: ben at prince dot org
Reported By: info at pion dot xs4all dot nl
Status: Assigned
Bug Type: *Directory/Filesystem functions
Operating System: Linux
PHP Version: 5.0.1
Assigned To: wez
New Comment:
Just so we can be clear, while I understand this affects readfile() as
well as copy(), does it also affect include()?
Previous Comments:
------------------------------------------------------------------------
[2004-09-02 14:53:18] [EMAIL PROTECTED]
IIRC, I added a limit for this kind of thing for readfile() (aka
php_stream_passthru), which could be applied here.
Discussions on the list (with Andi) suggested mmap'ing chunks of 1MB
and doing it that way.
If someone wants to cook up a patch for either of these, that's fine by
me; I'm not sure how soon I'll be able to look into it.
------------------------------------------------------------------------
[2004-09-02 08:19:24] [EMAIL PROTECTED]
I saw a similar (but better) patch by Wez. Wez, can you have a look?
------------------------------------------------------------------------
[2004-09-01 22:19:57] info at pion dot xs4all dot nl
I have a small patch for the 5.1.0-dev which solves the
problem but:
This patch says a normal copy should be used for files
bigger then 32 MB. But this is an rather arbitrary value
choosen by me.
Here follows the patch:
-diff -Naur org/php5-200409011830/main/streams/streams.c
php5-200409011830/main/streams/streams.c
--- org/php5-200409011830/main/streams/streams.c 2004-08-31
14:30:59.000000000 +0200
+++ php5-200409011830/main/streams/streams.c 2004-09-01
22:06:11.579747624 +0200
@@ -1276,7 +1276,12 @@
}
}
- if (php_stream_mmap_possible(src)) {
+ /*
+ ** We shouldn't use memory mapping on big files just for copying
them.
+ ** It's not an efficient sollution for the vm. So for files above
+ ** 32mb (32*1024^2=33554432) we want a normal copy
+ */
+ if ((php_stream_mmap_possible(src)) && (ssbuf.sb.st_size <
33554432)) {
char *p;
size_t mapped;
----------------------
------------------------------------------------------------------------
[2004-09-01 21:55:01] info at pion dot xs4all dot nl
I have checked again but i can't find the bug report.
I have tested with "5.1.0-dev" with checked out version
200409011830 but the problem is still there.
------------------------------------------------------------------------
[2004-09-01 08:44:03] [EMAIL PROTECTED]
I'm sure there is already a bugreport for this, and afaik somebody also
worked on an attempt to fix it. Can you try a PHP 5.1.0-dev snapshot
please? (http://naps.php.net)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/29922
--
Edit this bug report at http://bugs.php.net/?id=29922&edit=1