# env **Repository Path**: lv_anchu/env ## Basic Information - **Project Name**: env - **Description**: 对laravel的.env进行分解,形成local/dev/pre/live/all配置文件,并且加密后纳入git代码管理,减少上线部署时的.env操作步骤。 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-28 - **Last Updated**: 2024-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Laravel .env manager


```shell composer require hzanchu/env ``` ## 概况 此包的主要作用就是合理管理.env文件,将.env文件分解为如下6个文件,并对`env/`目录下的配置文件加密后纳入git管理,减少上线时对`.env`的手动配置: - `.env`:不纳入git管理,保存少量配置; - `env/.env.all`:所有环境的公共配置存放在这里; - `env/.env.local`:本地环境有关的配置存放在这里; - `env/.env.dev`:开发环境有关的配置存放在这里; - `env/.env.pre`:测试环境有关的配置存放在这里; - `env/.env.live`:生产环境有关的配置存放在这里; `.env`中存储加密时使用的key,要保证在所有环境中,加密key都是一致的,您需要在`.env`文件中添加如下配置: ```shell # 加密KEy ENV_KEY=xxxx ``` > 注意:如果相同配置出现在多个env文件中,优先级:.env > .env.* > .env.all ## 版本说明 ### tag: 3.* - 这个版本采用laraval自己的加密算法进行加密解密(crypt); - 需要在.env中配置APP_KEY:`APP_KEY=Env::generateKey('AES-256-CBC')` - 生成APP_KEY的$cipher需要在`config/app.php`中配置:`'cipher' => 'AES-256-CBC'` ### tag: 2.* - 这个版本采用openssl加密算法进行加密; - 加入了解密命令行,命令为:`php artisan env:decode`; ### tag: 1.* 这个版本采用自定义的加密算法,实现加密; ## 1. 配置系统 ### 1.1 获取`env/.env.*`配置 对.env.*的获取,必须在获取.env之后,且在loadConfig文件之前,因此需要调整如下代码: `app/Http/Kernel.php`、`app/Console/Kernel.php`: ```php