Nginx variables similaires à SetEnv dans Apache?
- Je utiliser SetEnv dans Apache pour certaines variables dans des hôtes virtuels que j'ai récupérer en PHP à l'aide de $_SERVER[the_variable]
.
Maintenant, je suis de commutation à Perl de Catalyseur et de Nginx, mais il semble que le "env" directive Nginx n'est pas la même. Il ne fonctionne pas. Comment peut-il être réalisé?
Ici est l'image d'arrière-plan, juste au cas où quelqu'un peut proposer une meilleure approche ou mon système précédent ne fonctionne pas avec Nginx.
- - Je utiliser la même application pour de nombreux domaines. Toutes les données proviennent de différentes bases de données avec la même structure.
- Le nom de base de données est codé en dur à l'hôte virtuel, dans cette variable d'environnement.
- Que je sais que le nom de base de données, toutes les requêtes aller à sa base de données appropriée, à partir de la première requête.
- Je peut avoir de multiples domaines en utilisant la même base de données, tout, y compris de la même variable dans les directives.
Vous devez vous connecter pour publier un commentaire.
NGINX n'est pas gérer votre processus serveur comme apache n', donc il ne peut pas nuire à leur environnements. Pour définir une nouvelle
$_SERVER
variable PHP à partir de NGINX, vous devez ajouter un nouveaufastcgi_param
entrée, ainsi que le reste d'entre eux. Partout où vous êtes, y comprisfastcgi_params
oufastcgi.conf
.mais c'est pour PHP-CGI
Vous devriez garder à l'esprit que nginx n'est pas de gérer les processus php comme apache n'. Vous devriez config soit php-fpm, ou php-cgi, en s'appuyant, ce qui s'exécute php sur votre serveur.
php-cgi
php-fpm
La fastcgi_pass emplacement du connecteur doit venir d'abord, puis chacun des fastcgi_param paramètres. Vous pouvez également lister les variables dans un fichier dans le dossier config de nginx, puis d'inclure ce fichier. Le fichier include a généralement le nom fastcgi_params. Vos paramètres d'environnement peut être facilement ajouté à l'php bloc de gestion:
La fastcgi_params fichier situé dans le même répertoire que nginx.conf ressemble souvent à ceci: