86 votes

Nginx variables similaires à SetEnv dans Apache ?

J'utilise SetEnv dans Apache pour certaines variables dans des hôtes virtuels que j'ai récupérer en Php en utilisant la variable $_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é?

Voici 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.

  • J'ai 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.
  • Comme 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 peux avoir plusieurs domaines en utilisant la même base de données, tout, y compris de la même variable dans les directives.

Ce qui concerne

126voto

TREx Points 279
<pre><code></code><p>mais c’est pour PHP-CGI</p></pre>

63voto

kolbyjack Points 4721

Nginx ne gérer vos processus de back-end comme apache, donc il ne peut pas affecter leurs environnements. Pour définir une nouvelle variable de php $_SERVER de nginx, vous devez ajouter une nouvelle entrée de fastcgi_param ainsi que le reste d'entre eux. Partout où vous êtes notamment fastcgi_params ou fastcgi.conf.

46voto

Oleg Points 2995

Vous devez garder à l’esprit que nginx ne gère pas les processus php comme apache ne. Vous devriez config soit php-fpm, ou php-cgi, en s’appuyant ce qui exécute php sur votre serveur.

PHP-fpm

PHP-cgi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X