我在Apache中使用SetEnv在虚拟主机中设置一些变量,我在PHP中使用$_SERVER[the_variable]
恢复这些变量。
现在我切换到Perl Catalyst和Nginx,但Nginx中的"env“指令似乎并不相同。它不起作用。怎样才能做到呢?
这是背景图片,以防有人建议更好的方法,或者我之前的系统不能在Nginx上工作。
发布于 2011-11-12 03:50:22
NGINX不像apache那样管理你的后端进程,所以它不会影响他们的环境。要从NGINX设置一个新的NGINX变量,您需要添加一个新的$_SERVER
条目以及其他条目。无论您在哪里,包括fastcgi_params
或fastcgi.conf
。
发布于 2011-12-01 03:22:25
location / {
...
fastcgi_param APPLICATION_ENV production;
fastcgi_param APPLICATION_CONFIG user;
...
}
但这是针对PHP-CGI的
发布于 2013-10-21 18:16:07
你应该记住,nginx并不像apache那样管理php进程。您应该配置php-fpm或php-cgi,这取决于服务器上运行php的是什么。
php-cgi
...
env[APP_ENV] = production
...
php-fpm
location / {
...
fastcgi_param APP_ENV production;
...
}
https://stackoverflow.com/questions/8098927
复制相似问题