版本:laravel-4.2.11
环境:生产&&本地
生产,本地都有一个名为'app.php'的文件
生产中:
'test-key' => [
1 => [
'customer_service' => [],
'customer_manage' => []
],
3 => [
'customer_service' => ['a', 'b', 'c', 'd'],
'customer_manage' => []
],
],
在当地:
'test-key' => [
1 => [
'customer_service' => [],
'customer_manage' => []
],
3 => [
'customer_service' => ['b', 'e'],
'customer_manage' => ['b', 'e']
],
],
当我在本地环境中使用Config::get('app.test-key')[3]['customer_service']
时,我得到结果:['b', 'e', 'c', 'd']
这不是预期的。
任何人都可以告诉我为什么会这样?
答案 0 :(得分:0)
Laravel通过bootstrap/start.php
文件检测您正在使用的环境。
解决此问题的最佳方法是在PHP配置中设置服务器变量。
以下是start.php
文件中的环境检测代码示例:
$env = $app->detectEnvironment(function()
{
if(isset($_SERVER['LARAVEL_ENV']))
{
return $_SERVER['LARAVEL_ENV'];
}
else
{
return 'development';
}
});
$_SERVER['LARAVEL_ENV']
值通常是“生产”或“开发”。
来源:http://laravel.com/docs/4.2/configuration#environment-configuration