2009-12-16 46 views
3

我一直在開發應用程序環境設置的本地應用程序的開發。我認爲這是在.htaccess文件中設置的。Zend Framework 1.8+:如何自動設置應用程序環境?

然後,我一直在將新版本部署到生產服務器。

我不想手動每次部署新版本時手動更改應用程序環境。

我應該怎麼做,所以我可以自動設置應用程序環境變量(也許根據它的託管位置?即myapp.commyapp.local)?

回答

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

在index.php文件

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

+0

+1我認爲這是正確的做法。 –

+0

在託管你沒有訪問Apache配置文件 截至我 - 我使用GIT與* .hataccess在.gitignore – SMka

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作業運行的,我需要這個來做測試。

相關問題