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