美文网首页
lumen 开发多环境配置整合

lumen 开发多环境配置整合

作者: IT513 | 来源:发表于2019-03-24 00:14 被阅读0次

因为当前代码与上线都是通过Git webhook的方式管理,需要提交代码后自动同步到开发服务器、测试服务器,发布版本后自动到生产环境的服务器中,所以需要有多环境配置,不用人工再登录服务器修改配置。
注意:生产环境的数据库当前只允许 localhost 访问,就算代码仓库外漏也没办法远程连接。

lumen 5.7 利用 Vance Lucas 的 PHP 库 DotEnv 管理配置文件,默认配置文件为 .env
当前多环境配置是根据虚拟域名后缀切换不同的配置文件:

  • 本地开发环境(localhost),访问域名后缀 .z
  • 开发环境(develop),访问域名后缀 .d
  • 测试环境(testing),访问域名后缀 .t
  • 生产环境(production),访问域名后缀 .com

修改文件 bootstrap\app.php

image.png

修改为:


try {
    //根据域名后缀配置切换不同环境
    $httpName = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'';  //当前域名
    $suffix = substr(strrchr($httpName, '.'), 1);   //获取域名后缀
    switch ($suffix) {
        case false:
            //shell 命令环境配置(没有域名后缀)
            $environment = '.env.localhost';
            break;
        case 'z':
            //本地环境
            $environment = '.env.localhost';
            break;
        case 'd':
            //开发环境
            $environment = '.env.develop';
            break;
        case 't':
            //测试环境
            $environment = '.env.testing';
            break;
        default:
            //正式环境
            $environment = '.env.production';
            break;
    }

    (new Dotenv\Dotenv(dirname(__DIR__),$environment))->load();
} catch (Dotenv\Exception\InvalidPathException $e) {
    //
}


lumen 5.8 有点变化
原:


image.png

修改为:

image.png

新建对应的配置文件,配置完成。


image.png

附配置文件说明:

//环境
APP_NAME=Lumen  //应用名称
APP_ENV=local    //运行环境名称
APP_KEY=    // 敏感信息加密密钥,可使用 php artisan key:generate 重新生成。
APP_DEBUG=true  // 是否启用调试模式  正式环境修改为 false。
APP_URL=http://localhost   //项目访问域名
APP_TIMEZONE=UTC    //时区
//日志
LOG_CHANNEL=stack  
LOG_SLACK_WEBHOOK_URL=
//数据库配置
DB_CONNECTION=mysql   //使用的数据库
DB_HOST=127.0.0.1    //链接地址
DB_PORT=3306      //端口
DB_DATABASE=homestead  //数据库名称
DB_USERNAME=homestead  //用户名
DB_PASSWORD=secret    //用户密码
//缓存
CACHE_DRIVER=file      // 缓存驱动,默认使用文件作为缓存。
QUEUE_CONNECTION=sync  // 队列驱动,默认使用同步模式。



shell 指定环境配置文件执行

通过参数 --env= + 环境名称

#执行开环环境下的数据导入
php artisan db:seed --env=develop

lumen 5.8 修改文件 bootstrap\app.php


if($_SERVER['HTTP_HOST']){
    //根据域名后缀配置切换不同环境
    $httpName = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'';  //当前域名
    $suffix = substr(strrchr($httpName, '.'), 1);   //获取域名后缀
    switch ($suffix) {
        case false:
            //shell 命令环境配置(没有域名后缀)
            $environment = '.env.localhost';
            break;
        case 'z':
            //本地环境
            $environment = '.env.localhost';
            break;
        case 'd':
            //开发环境
            $environment = '.env.develop';
            break;
        case 't':
            //测试环境
            $environment = '.env.testing';
            break;
        default:
            //正式环境
            $environment = '.env.production';
            break;
    }
} else {

    //指定执行命令环境 
    $environment = '.env.localhost';
    // $argv 为shell 执行的命令组合
    if(!empty($argv)){
        foreach($argv as $argvStr){
            if(strstr( $argvStr , '--env=' ) !== false ){
                $environment = str_replace('--env=','.env.',$argvStr);
            }
        }
    }

}


(new Laravel\Lumen\Bootstrap\LoadEnvironmentVariables(
    dirname(__DIR__),$environment
))->bootstrap();




相关文章

  • lumen 开发多环境配置整合

    因为当前代码与上线都是通过Git webhook的方式管理,需要提交代码后自动同步到开发服务器、测试服务器,发布版...

  • lumen 根据虚拟域名多环境配置

    lumen 5.7 利用 Vance Lucas 的 PHP 库 DotEnv 管理配置文件,默认配置文件...

  • webpack4 构建vue多页工程

    webpack4 构建vue多页工程 多页应用开发环境配置 构建开发环境的配置,需要使用到webpack-dev-...

  • iOS 开发进阶 文章汇总

    0、多环境开发配置iOS-开发进阶01:多环境配置[https://www.jianshu.com/p/c40b3...

  • Lumen初始化框架

    安装Lumen 配置缓存 env配置

  • vue3.0 多环境配置

    最常见的多环境配置,就是开发环境配置,和生产环境配置(也就是上线的配置),很多情况下我们开发环境下的域名,和一些配...

  • lumen +swoole

    lumen搭建 lumen搭建项目 添加dingo 安装扩展 修改配置 app.php 修改.env文件 配置sw...

  • vue-cli配置多环境变量

    配置多环境打包 如有开发环境、测试环境、生产环境 1.开发环境,创建.env.development文件 2.测试...

  • xcode多环境xcode配置以便fastlane打包

    多环境xcode配置 需求 随意切换开发环境,不影响代码,自动打包方便。 开发环境 DevDebug 成都测试环境...

  • 集成开发环境->软件

    集成开发环境[编辑]维基百科,自由的百科全书 中国大陆集成开发环境 台湾整合开发环境 港澳整合开发环境 软件开发 ...

网友评论

      本文标题:lumen 开发多环境配置整合

      本文链接:https://www.haomeiwen.com/subject/ueoevqtx.html