我有一个这样的临时服务器设置: http://staging.mysite.com
以下方法适用于我的开发环境。
在.htaccess文件中,我包括:
SetEnv APPLICATION_ENV "staging"
然而,Zend仍然认为环境就是生产。
<title>My Site :: <?= APPLICATION_ENV; ?></title>
产量:
我的网站::制作
在浏览器的标题栏中。
我搜索了多个线程并尝试使用 SetEnvIf指令也没有运气。
请帮忙!
答案 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
...