如何SetEnv APPLICATION_ENV“staging”

时间:2012-02-14 21:38:05

标签: zend-framework environment-variables

我有一个这样的临时服务器设置: http://staging.mysite.com

以下方法适用于我的开发环境。

在.htaccess文件中,我包括:
    SetEnv APPLICATION_ENV "staging"

然而,Zend仍然认为环境就是生产。
        <title>My Site :: <?= APPLICATION_ENV; ?></title> 产量:
我的网站::制作
在浏览器的标题栏中。

我搜索了多个线程并尝试使用 SetEnvIf指令也没有运气。

请帮忙!

3 个答案:

答案 0 :(得分:3)

SetEnv只是设置Apache环境变量,你可以在$_SERVER中使用PHP访问它,或者使用PHP的getenv()函数作为上面发布的ZiTAL。您可能希望在应用程序的早期(例如index.php)中找到类似这样的内容:

defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

这将使用环境变量值填充常量,除非它已经定义,如果未填充env var,则回退到'production'的值。

答案 1 :(得分:2)

尝试删除双引号:

SetEnv APPLICATION_ENV staging

并检查PHP中getenv的返回值:

echo getenv('APPLICATION_ENV');

答案 2 :(得分:2)

在我的本地服务器上运行php on fcgi,以下.htaccess指令

SetEnv APPLICATION_ENV development

会产生以下$_SERVER变量

...
[REDIRECT_APPLICATION_ENV] => development
...