尝试从命令行设置环境变量,如
php artisan serve --env=someenv
但是var_dump(App::environment())
输出string 'production' (length=10)
。
不应该是someenv
吗?
答案 0 :(得分:2)
您在php artisan seve
上设置的此环境仅适用于在cli上运行的特定命令。
请注意,这不是您运行的应用程序,而是由PHP提供的Web服务器,因此您无需安装完整的apache或nginx来测试您的应用程序。
您的Web应用程序将在不同的环境中运行,您仍需要提供一个正确的环境,将其添加到您的bootstrap / start.php文件中:
$env = $app->detectEnvironment(array(
'local' => array('localhost', '127.0.0.1', 'example.com'),
));
答案 1 :(得分:0)
Laravel 5可以使用安装基目录中的 .env 文件来确定您的环境。例如,要将当前环境设置为“本地”环境,请使用
创建文件 .envAPP_ENV = local
有关此机制的详细信息,请参阅another answer。