On Wed, 2010-12-08 at 01:11 +0000, Gustavo Lopes wrote: > On Wed, 08 Dec 2010 00:45:56 -0000, Tjerk Meesters > <tjerk.meest...@gmail.com> wrote: > > > Don't have much knowledge about the internal workings of the engine, but > > I'm wondering if it's possible to apply "lazy loading" to the $_POST > > variable, so that processing only happens if and when it's requested. > > > > That way you wouldn't need the ini setting. > > In most cases, processing (=parsing) of the POST data already only occurs > when $_POST is requested; however, previously the data was already > entirely copied to two or three memory locations. > > If you mean making it so that the data is only *read and processed* when > $_POST is requested, I suppose that would be possible, but I think it > would require significant code/architectural changes to PHP and to the > sapis. It would also raise other problems, including backwards > compatibility breaks, if we wanted the change to bring any benefit. > > For instance, current scripts can, in POST requests, read any number of > times from php://input or $HTTP_RAW_POST_DATA (to simplify, let's say we > even let go $HTTP_RAW_POST_DATA). For this to be possible, you would have > to have the data in memory because you're reading from php://input the > first time, you can't know if it will be read a second time, so you either > break BC or keep everything in memory just in case there's a second read > -- and then you're where you started. >
This example would be solved if during the lazy load you change the php://input stream to point at the memory location that you read it into. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php