Laravel 4 拉维尔的环境问题

Laravel 4 拉维尔的环境问题,laravel-4,Laravel 4,这就是我在boostrap/start.php中设置ip的方式,我在hosts文件中设置ip $env = $app->detectEnvironment(array( 'local' => array('*localhost*'), 'test' => array('chan.app'), )); 127.0.0.1本地主机 127.0.0.1 chan.app 无论我键入什么http://localhost/或http://chan.app,App::e

这就是我在boostrap/start.php中设置ip的方式,我在hosts文件中设置ip

$env = $app->detectEnvironment(array(
    'local' => array('*localhost*'),
    'test'  => array('chan.app'),
));
127.0.0.1本地主机 127.0.0.1 chan.app
无论我键入什么
http://localhost/
http://chan.app
App::environment()
总是显示
产品
,因此我无法更改它的数据库配置。

由于安全问题,禁止在环境中使用url域。Laravel说用主机名来代替

这就是为什么我怀疑Laravel能否正确识别(检测)您的配置,因为两者都在同一台机器上。

从:

环境检测更新

出于安全原因,URL域可能不再用于检测您的 应用环境。这些值很容易伪造并允许 攻击者试图修改请求的环境。你应该改变信仰 您的环境检测使用计算机主机名(hostname)命令 在Mac、Linux和Windows上)

编辑

比方说,你想要一个本地和生活环境。

1。为每个配置创建文件夹:

  • /app/config/
  • 在每个文件夹中,您创建了要从
    /app/config/
    覆盖的配置文件
例如,在
live
(生产)环境中,您不希望激活
debug
选项

  • /app/config/live
    文件夹中创建一个文件
    app.php
  • 在内部,您只需返回所需的覆盖选项,如原始
    /app/config/app.php
    中定义的

    返回数组('debug'=>false)

在本地环境中,为了进行开发,“debug”将设置为true

2。将环境添加到框架:

/bootstrap/start.php
文件中:

127.0.0.1 localhost 127.0.0.1 chan.app 这是最重要的部分: -开发(本地):-->机器名称

-Production:-->根url(yourdomain.com)表示“机器”名称

有关更多信息,请参阅。打开CMD(Mac、Linux和Windows)并键入命令:

$env = $app->detectEnvironment(array(
    'local' => array('local-machine-name'),
    'live' => array('yourdoamin.com')
));
这将返回您计算机的名称。然后使用该名称:

hostname

在本地键上,输入真实的机器名,而不是
*localhost*
请参见:嗨,我将代码更改为$env=$app->detectEnvironment(数组('test'=>array('chan.app'),'local'=>array(gethostname());echo environment显示为local,但如果我通过chan.app输入,它也显示为local,它应该是show test,对吗?这不是因为
chan.app
也在
127.0.0.1
上吗?是的,这意味着我不能在自己的计算机上模拟生产和本地环境吗?
$env = $app->detectEnvironment(array(
  'local' => array('ComputerName'),
));