我一直在使用开发的应用程序环境设置在本地开发应用程序。我认为这是在.htaccess
文件中设置的。
然后,我一直在为生产服务器部署新版本。
我不希望每次部署新版本时手动更改应用程序环境。
我该怎么做呢,所以我可以自动设置应用程序环境变量(可能基于它所托管的位置?即myapp.com
与myapp.local
)?
答案 0 :(得分:4)
您可以在服务器配置,虚拟主机,目录或.htaccess中通过
执行此操作 SetEnv SPECIAL_PATH /foo/bin
实施例
<VirtualHost host1>
SetEnv FOO bar1
...
</VirtualHost>
<VirtualHost host2>
SetEnv FOO bar2
...
</VirtualHost>
更多阅读材料
答案 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作业运行的,我需要这个来进行测试。