Zend Framework 1.8+:如何自动设置应用程序环境?

时间:2009-12-16 08:05:14

标签: zend-framework

我一直在使用开发的应用程序环境设置在本地开发应用程序。我认为这是在.htaccess文件中设置的。

然后,我一直在为生产服务器部署新版本。

我不希望每次部署新版本时手动更改应用程序环境。

我该怎么做呢,所以我可以自动设置应用程序环境变量(可能基于它所托管的位置?即myapp.commyapp.local)?

3 个答案:

答案 0 :(得分:4)

您可以在服务器配置,虚拟主机,目录或.htaccess中通过

执行此操作
 SetEnv SPECIAL_PATH /foo/bin

实施例

<VirtualHost host1>
SetEnv FOO bar1
...
</VirtualHost>
<VirtualHost host2>
SetEnv FOO bar2
...
</VirtualHost>

更多阅读材料

http://httpd.apache.org/docs/1.3/mod/mod_env.html#setenv

http://docstore.mik.ua/orelly/linux/apache/ch04_06.htm

答案 1 :(得分:3)

    if (false !== stripos($_SERVER['HTTP_HOST'], 'yourdomain.tld')) {
        $_ENV['APPLICATION_ENV'] = $_SERVER['APPLICATION_ENV'] = 'production';
    }

位于index.php

的顶部

答案 2 :(得分:0)

我做了类似SM的事情,但略有不同:

$env = 'development';

if ('www.my-host-name.com' == $_SERVER['HTTP_HOST'] || 'my-server-name' == exec('hostname')) {
    $env = 'production';
}

defined('APPLICATION_ENVIRONMENT') or define('APPLICATION_ENVIRONMENT', $env);
unset($env);

我使用服务器主机名来确定环境。我也使用我的服务器名称,因为某些脚本是从cron作业运行的,我需要这个来进行测试。