Overwrite PHP settings on the fly with mod_reset
mod_reset is a module for both Apache versions including 2.2 and 2.4. It simply looks at headers you set in Apache configuration and overwrites PHP settings. Let’s say we want to set
memory_limit dynamically for certain application, Apache configuration looks like this:
ResetHeaders "memory_limit" "X-Memory-Limit"
This snippet translates to Look at
X-Memory-Limit HTTP header and set value from this header to PHP
memory_limit. You might wonder why use this module while there are other solutions like
mod_lsapi? Because we want to use
mod_php, run single PHP version per container and have a reverse proxy in front of this fleet of containers. Secondly,
mod_fcgid is not developed anymore, while
mod_lsapi has to run under CloudLinux which is proprietary and not free.
In addition, this module allows you to overwrite
TMPDIR environment on request from headers too. For instance:
ResetHeader "ServerAdmin" "X-Server-Admin" ResetHeader "DocumentRoot" "X-Document-Root"
TMPDIR environment per request allows you to make sure client is not using
/tmp anymore for temporary files, thus files quota will be calculated more granularly.
If you became interested in mod_reset, grab it from Github and try.