php - 同一台服务器上的 Laravel 4.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'),

));

我可以根据域定义环境(因为我的应用程序区域将位于不同的域),这样我可以为每个域定义不同的配置(托管在同一台服务器上)

/p>

有什么想法吗?

最佳答案

Laravel 的 detectEnvironment 方法具有 nify 功能,您可以在其中通过闭包以编程方式确定当前环境。例如,这会将 Laravel 配置为始终使用本地环境。

$env = $app->detectEnvironment(function()
{
    return 'local';
});

域名应该在 $_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
    }
});

关于php - 同一台服务器上的 Laravel 4.2 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26004832/

相关文章:

php - 如何从数据库中获取日期到html datepicker

php - 学说注释尝试自动加载错误注释

javascript - 获取从 PHP 到 JavaScript 的输入值

mysql - 如何在 Raspberry Pi (Raspbmc > Debian) 上加速 Apache/PHP/MySQL?

apache - 如何让 map 服务器工作

mysql - Laravel - 提高大数据(800 万行以上)查询读取性能的可能解决方案

php - 查询生成器获取模态实例

javascript - 单击指向 php 脚本的链接时停止重新加载页面

apache - .htaccess 将参数重定向到子目录

html - 背景图像未在 Laravel 中显示