nginx (Apache- ) SetEnv Alternative

Man kann mit nginx zwar keine Umgebunsvarialbe direkt setzten, dafür kann man aber Parameter an FastCGI übergeben. So sind diese Werte beispielsweise für PHP verfügbar.

Um Beispielsweise für die Erweiterung yii-environment für das Yii Framework die Variable zu setzten geht man wie folgt vor:

...
location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  YII_ENVIRONMENT "development";
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
         }
...

Damit wird die Variable YII_ENVIRONMENT auf development gesetzt.

Diese kann in PHP dann folgendermaßen gelesen werden:

<?php
...
$mode = $_SERVER['YII_ENVIRONMENT'];
...
?>
Dieser Beitrag wurde am von in Tutorials veröffentlicht. Schlagworte: , , , , , , .

Über Kai

Ich habe Informatik im Masterstudiengang an der Universität Stuttgart studiert. Im Studium habe ich, wie mein Kollege und Kommilitone, die Vertiefungslinien "Theoretische Informatik und Wissenschaftliches Rechnen" und "Visualisierung und Interaktive Systeme" belegt. Auch in meiner Freizeit beschäftige ich mich oft mit Softwareentwicklung, im Speziellen der Softwarearchitektur, sowie mit der, teils ehrenamtlichen, Betreuung und Weiterentwicklung von Webplattformen. Darüberhinaus gehe ich dem Leistungssport Schwimmen nach, um für einen gesunden Ausgleich mit Sport zu sorgen. Mehr über mich unter kmindi.de.