Setting $_ENV (fka $HTTP_ENV_VARS) with nginx/php-fpm

后端 未结 2 1455
无人及你
无人及你 2021-02-08 19:08

What is the equivalent of setenv in a apache environment? With apache I am able to for example set the env \"SOMEENV\" and access it in php via $_ENV[\'SOMEENV\'] - but I have n

2条回答
  •  自闭症患者
    2021-02-08 19:43

    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.

提交回复
热议问题