解决laravel中环境配置不起作用的方法

博客已经迁移到www.imyzf.com,本站不再更新,请谅解!

laravel有个环境配置选项很好用,在bootstrap/start.php中,曾经百度到这里面加入域名,就可以自动选择环境

$env = $app->detectEnvironment(array(
    'development' => array('localhost'),
    'production' => array('www.example.com'),
));

  

本以为这样就好了,结果不论放在服务器上还是本机,都自动选择了production环境配置。

经过google以后,找到了答案:

Using hostname for environment detection is bad design and can open up your app to attacks. Laravel 4.1 no longer allows using hostnames for environment detection. You should be using machine names or use a closure which makes use of server vars to detect current environment.

从laravel 4.1开始,不支持通过域名来判断环境了,解决方法很简单,把上面代码中localhost改成你的计算机名就是了。(win7里右键“计算机”就可以看到,点属性就可以到计算机名)

$env = $app->detectEnvironment(array(
    'development' => array('pc_name'),
    'production' => array('server_name'),
));

  

 知识共享许可协议
本作品由www.imyzf.com/?p=12创作,采用知识共享署名 4.0 国际许可协议进行许可。

原文地址:https://www.cnblogs.com/ImYZF/p/3648334.html