Das setzen von $_ENV (fka $HTTP_ENV_VARS) mit nginx/php-fpm
Was ist das äquivalent von setenv in einer apache-Umgebung?
Mit apache kann ich z.B. die env "SOMEENV" und es in php über $_ENV['SOMEENV'] - aber ich habe keine Ahnung, wie es mit nginx+php-fpm.
Anfänglich dachte ich, dass ich nur noch set ENV[SOMENEV]=test in der config von meinem php-fpm pool, aber var_dump($_ENV) noch nichts zurückgibt.
Irgendwelche Tipps?
Du musst angemeldet sein, um einen Kommentar abzugeben.
nginx nicht auf die php-Umgebung, da es nicht einbetten der php-interpreter in den Prozess. Er übergibt Parameter an php durch fastcgi_param Richtlinien. Sie können fügen Sie einfach ein, wo Sie den rest Ihres params und Zugriff über $_SERVER:
env
Richtlinie in NGINX?Bewusst sein, dass die Verfügbarkeit von
$_ENV
Variablen hängt von der Einstellung dervariables_order
im php.ini verwendet, die von php-fpm. Der Standardwert istEGPCS
, woE
ist die Umgebung, allerdings auf Ubuntu 12.04 ich fand es warGPCS
. Die php.ini selbst trägt, ist eine Warnung in Bezug auf$_ENV
:Es empfiehlt
getenv()
was immer verfügbar ist. Ich fand, dass Variablen, die ich setzen in der FPM-pool abgerufen werden konnten, diese Weise.