Well, it's not completely arbitrary. It's the size that was used previous to php 5.2.10. See _php_stream_mmap_range() in main/streams/mmap.c.
In my limited testing, it does solve the issue. Unfortunately, it also has the side effect of re-introducing php bug #48309 for files over 4MB.
Maybe making it size_t - 1 would be better?
Well, it's not completely arbitrary. It's the size that was used previous to php 5.2.10. See _php_stream_ mmap_range( ) in main/streams/ mmap.c.
In my limited testing, it does solve the issue. Unfortunately, it also has the side effect of re-introducing php bug #48309 for files over 4MB.
Maybe making it size_t - 1 would be better?