Laravel5.4 不同环境下 env 文件设置
2017-08-04 15:44
519 查看
Laravel5.4现在支持不同环境下
根据不同环境服务器设置系统变量(可根据
这样,项目根目录下就会有根据不同环境对应的
原理可看laravel的源码:
env文件设置(好像是L5.4最新支持的吧,记不清楚了,也有可能L5.2-5.3就已经支持了),可以针对不同环境(development, staging, production)设置env文件为:
development: .env.development staging: .env.staging production: .env.production
根据不同环境服务器设置系统变量(可根据
phpinfo()查看
APP_ENV环境变量是否OK):
development: APP_ENV=development staging: APP_ENV=staging production: APP_ENV=production
这样,项目根目录下就会有根据不同环境对应的
.env.xxx文件,放入版本控制,本地的环境对应
.env不需要放入版本控制。
原理可看laravel的源码:
namespace Illuminate\Foundation\Bootstrap; use Dotenv\Dotenv; use Dotenv\Exception\InvalidPathException; use Symfony\Component\Console\Input\ArgvInput; use Illuminate\Contracts\Foundation\Application; class LoadEnvironmentVariables { /** * Bootstrap the given application. * * @param \Illuminate\Contracts\Foundation\Application $app * @return void */ public function bootstrap(Application $app) { if ($app->configurationIsCached()) { return; } $this->checkForSpecificEnvironmentFile($app); try { (new Dotenv($app->environmentPath(), $app->environmentFile()))->load(); } catch (InvalidPathException $e) { // } } /** * Detect if a custom environment file matching the APP_ENV exists. * * @param \Illuminate\Contracts\Foundation\Application $app * @return void */ protected function checkForSpecificEnvironmentFile($app) { if (php_sapi_name() == 'cli' && with($input = new ArgvInput)->hasParameterOption('--env')) { $this->setEnvironmentFilePath( $app, $app->environmentFile().'.'.$input->getParameterOption('--env') ); } if (! env('APP_ENV')) { return; } $this->setEnvironmentFilePath( $app, $app->environmentFile().'.'.env('APP_ENV') ); }
相关文章推荐
- Laravel5.4 不同环境下 env 文件设置
- Laravel在不同的环境调用不同的配置文件
- Laravel 学习 .env文件 getenv 获得环境变量的值
- psql的环境设置(文件.mylocalenv)
- [SoapUI] EndPoint不需要在配置文件中设置不同环境的值,SoapUI自带此参数的设置
- Laravel在不同的环境调用不同的配置文件
- 关于Lumen / Laravel .env 文件中的环境变量是如何生效的
- 配置maven下载jar包源码文件、拷贝依赖jar到lib包、设置编译时jdk版本、根据不同环境采用不同配置
- 关于Lumen / Laravel .env 文件中的环境变量是如何生效的
- laravel配置不同环境的配置文件
- NHibernate实践总结(二) 在mapping文件中设置抓取策略对HQL与Criteria造成不同影响的测试与验证
- Maven根据不同环境打包不同配置文件
- NODE_ENV=production 环境变量设置
- 设置BootLoader环境变量,通过NFS挂载文件系统
- LabVIEW中在编辑环境和运行环境下文件保存的路径问题以及发生不同界面文件保存在同一文档中发生覆盖时的处理方法
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
- PHP开发laravel框架的.env文件配置
- XAMPP环境下,如何将项目目录设置在任意位置且不影响htdocs内的文件访问
- 使用批处理文件设置环境变量
- 使用T4模板生成不同部署环境下的配置文件