Hi Arvids, > On Mar 5, 2020, at 05:19, Arvids Godjuks <arvids.godj...@gmail.com> wrote: > > one question I do have here is about how PHP-PM process manager will be > able to interact with this layer? > Cause right now it does rewrite the $_SERVER variable for each incoming > request for its child processes that handle the requests > https://github.com/php-pm/php-pm/blob/a2872e13c3901401d5c2386a8ed62502db23d5f2/src/ProcessSlave.php#L463 > > It kind'a makes this not possible if there is no way to re-init the object. > While read-only is, obviously, a good idea, there are some caveats like > this that not only limit the possibilities but also what will the > ServerRequest object even look like when $_SERVER is being rewritten like > this? > > ... > > it seems that this RFC does not allow such usage at all and long-running > processing has not been taken into account at all?
I have never used PHP-PM, so I am talking outside my competence here. Even so, I see the ProcessSlave::prepareEnvironment() method rewrites $_SERVER. Instead of re-initializing an existing object, would it be sufficient to create a new ServerRequest object after that point, with the newly-modified $GLOBALS values (in which $_SERVER is represented)? You would then use that new instance in the new child process. Regarding a long-running process, I could see where the entry point might create a new instance of ServerRequest as needed, using the current $GLOBALS state, and pass that new instance into whatever handler gets invoked. I am probably missing your point; if so, my apologies, and please guide me. -- Paul M. Jones pmjo...@pmjones.io http://paul-m-jones.com Modernizing Legacy Applications in PHP https://leanpub.com/mlaphp Solving the N+1 Problem in PHP https://leanpub.com/sn1php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php