博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Laravel5.4 不同环境下 env 文件设置
阅读量:5770 次
发布时间:2019-06-18

本文共 1788 字,大约阅读时间需要 5 分钟。

Laravel5.4现在支持不同环境下env文件设置(好像是L5.4最新支持的吧,记不清楚了,也有可能L5.2-5.3就已经支持了),可以针对不同环境(development, staging, production)设置env文件为:

development: .env.developmentstaging: .env.stagingproduction: .env.production

根据不同环境服务器设置系统变量(可根据phpinfo()查看APP_ENV环境变量是否OK):

development: APP_ENV=developmentstaging: APP_ENV=stagingproduction: 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')        );    }

招聘

转载地址:http://hysux.baihongyu.com/

你可能感兴趣的文章
EdbMails Convert EDB to PST
查看>>
Centos7同时运行多个Tomcat
查看>>
使用CocoaPods过程中的几个问题
查看>>
我的友情链接
查看>>
为eclipse安装maven插件
查看>>
Spring boot 整合CXF webservice 全部被拦截的问题
查看>>
Pinpoint跨节点统计失败
查看>>
机房带宽暴涨问题分析及解决方法
查看>>
XP 安装ORACLE
查看>>
八、 vSphere 6.7 U1(八):分布式交换机配置(vMotion迁移网段)
查看>>
[转载] 中华典故故事(孙刚)——19 万岁
查看>>
php5编译安装常见错误和解决办法集锦
查看>>
Unable to determine local host from URL REPOSITORY_URL=http://
查看>>
ORACLE配置,修改tnsnames.ora文件实例
查看>>
Workstation服务无法启动导致无法访问文件服务器
查看>>
Linux常用命令(一)
查看>>
一个自动布署.net网站的bat批处理实例
查看>>
我的友情链接
查看>>
Centos6.6安装选包及基础场景说明
查看>>
java基础面试题-1
查看>>