Be aware that the availability of $_ENV
variables depends on the setting of variables_order
in the php.ini used by php-fpm. The default is EGPCS
, where E
is environment, however on Ubuntu 12.04 I found it was GPCS
. The php.ini itself carries a warning regarding $_ENV
:
; This directive determines which super global arrays are registered when PHP
; starts up. G,P,C,E & S are abbreviations for the following respective super
; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
; paid for the registration of these arrays and because ENV is not as commonly
; used as the others, ENV is not recommended on productions servers.
It recommends using getenv()
which is always available. I found that variables I set in the FPM pool could be retrieved this way.