Schlagwort-Archive: fastcgi

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'];
...
?>