ari*_*lcr 2 php apache laravel laravel-4
我将把一个Laravel应用程序的几个实例部署到一个唯一的服务器上.每个实例都需要不同的数据库配置.基于主机名的默认Laravel环境配置对我不起作用,因为所有应用程序都将位于同一服务器上,因此无法确定要使用哪个配置文件.这是我的bootstrap/start.php档案:
$env = $app->detectEnvironment(array(
'development' => array('Ariels-MacBook-Pro.local'),
'server' => array('srv-hostname'),
));
Run Code Online (Sandbox Code Playgroud)
我可以基于域定义环境(因为我的应用程序区域将位于不同的域),这将是很好的,所以这样我就可以为每个域定义不同的配置(托管在同一台服务器上)
有任何想法吗?
Laravel的detectEnvironment方法有一个nify功能,你可以用一个闭包来progamatically确定当前的环境.例如,这会将Laravel配置为始终使用本地环境.
$env = $app->detectEnvironment(function()
{
return 'local';
});
Run Code Online (Sandbox Code Playgroud)
域名应该在$ _SERVER中的某个地方,所以像这个未经测试的伪代码应该可以得到你想要的.
$env = $app->detectEnvironment(function()
{
switch($_SERVER['HTTP_HOST'])
{
case: 'example.com':
return 'production';
case: 'another.example.xom':
return 'production';
default:
return 'local'; //default to local
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |