$env = $app->detectEnvironment(array(
'local' => array('*localhost*'),
'test' => array('chan.app'),
));
这是我在boostrap / start.php中设置的方式,我在主机文件中设置了ip
127.0.0.1 localhost 127.0.0.1 chan.app
无论我键入http://localhost/
还是http://chan.app
,App::environment()
始终显示production
,因此我无法更改数据库配置。
答案 0 :(得分:0)
由于存在安全问题,禁止在环境中使用网址。 Laravel说使用主机名。
这就是为什么我怀疑,Laravel会正确识别(检测)您的配置,因为两者都在同一台机器上。
环境检测更新
出于安全考虑,URL域可能不再用于检测您的域名 应用环境。这些值很容易被欺骗和允许 攻击者为请求修改环境。你应该转换 您的环境检测使用机器主机名(hostname命令 在Mac,Linux和Windows上。)
修改强>
让我们说,您想要一个本地和现场环境。
<强> 1。为每个配置创建文件夹:
local
&amp; live
内的/app/config/
/app/config/
覆盖的配置文件,例如,在live
(生产)环境中,您不希望激活debug
选项。
app.php
文件夹中创建文件/app/config/live
。 在内部,您只需返回要覆盖的所需选项,如原始/app/config/app.php
中所定义。
return array('debug' => false);
在当地环境中,&#39; debug&#39;将被设置为true,用于开发。
<强> 2。将环境添加到框架中:
在/bootstrap/start.php
文件中:
$env = $app->detectEnvironment(array(
'local' => array('local-machine-name'),
'live' => array('yourdoamin.com')
));
- 发展(本地): - &gt;机器名称
- 制作: - &gt; root-url(yourdomain.com)代表&#34;机器&#34;名称
有关详细信息,请参阅docs about environment config。
答案 1 :(得分:0)
打开您的CMD(Mac,Linux和Windows)并输入命令:
hostname
这将返回您的计算机的名称。然后使用该名称:
$env = $app->detectEnvironment(array(
'local' => array('ComputerName'),
));