首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nginx变量类似于Apache中的SetEnv?

Nginx变量类似于Apache中的SetEnv?
EN

Stack Overflow用户
提问于 2011-11-12 03:27:46
回答 4查看 92.6K关注 0票数 85

我在Apache中使用SetEnv在虚拟主机中设置一些变量,我在PHP中使用$_SERVER[the_variable]恢复这些变量。

现在我切换到Perl Catalyst和Nginx,但Nginx中的"env“指令似乎并不相同。它不起作用。怎样才能做到呢?

这是背景图片,以防有人建议更好的方法,或者我之前的系统不能在Nginx上工作。

  • 我在许多域中使用相同的应用程序。所有数据都来自具有相同结构的不同数据库。
  • 在该环境变量中将数据库名称硬编码到虚拟主机。
  • 据我所知,所有查询都会从第一个查询开始转到相应的数据库。
  • 我可以有多个域使用相同的数据库,只需将相同的变量包含在指令中即可。
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-12 03:50:22

NGINX不像apache那样管理你的后端进程,所以它不会影响他们的环境。要从NGINX设置一个新的NGINX变量,您需要添加一个新的$_SERVER条目以及其他条目。无论您在哪里,包括fastcgi_paramsfastcgi.conf

票数 61
EN

Stack Overflow用户

发布于 2011-12-01 03:22:25

代码语言:javascript
复制
location / {
...
   fastcgi_param   APPLICATION_ENV  production;
   fastcgi_param   APPLICATION_CONFIG user;
...
}

但这是针对PHP-CGI的

票数 125
EN

Stack Overflow用户

发布于 2013-10-21 18:16:07

你应该记住,nginx并不像apache那样管理php进程。您应该配置php-fpm或php-cgi,这取决于服务器上运行php的是什么。

php-cgi

代码语言:javascript
复制
...
env[APP_ENV] = production
...

php-fpm

代码语言:javascript
复制
location / {
    ...
    fastcgi_param APP_ENV production; 
    ...
}
票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8098927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档