Laravel 4 拉维尔的环境问题
这就是我在boostrap/start.php中设置ip的方式,我在hosts文件中设置ipLaravel 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
$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)代码>
/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'),
));