Dear internals,
recently I was hurt badly by https://bugs.php.net/bug.php?id=53611. In short, the FCGI variables PHP_VALUE and PHP_ADMIN_VALUE can be used to pass ini settings to FPM. This feature was added in https://github.com/php/php-src/commit/34ba9e39fafa3a980a1b69285f68b0e12ad6b876.
These values can come from Apache virtual hosts, that is, they should be treated as being request-specific. Apparently, the clean-up is missing, so configuration settings passed that way will persist and affect the next request(s) served by the particular FPM worker process. This is surprising at best, since the settings can come from unrelated virtual hosts and seem to "come and go", depending on which worker process happens to serve a request.
My guess is that since userland ini_set()
settings are reverted at the end of the request, this should be possible in this case as well. As my experience with the php-src codebase is very limited, may I kindly ask for some starting pointers, first hints what to look out for or examples of other modules or SAPIs that already perform similar clean-up tasks?
Thank you!
-mp.