casperwilkes / laravel-environment_detector2
构建适当的 .env 配置,检测当前 Laravel 环境,使用相应的 .env。需要 Laravel 框架 7 或以上版本。
Requires
- php: ^7.2.5
- illuminate/console: ^7.0
- illuminate/support: ^7.0
- laravel/framework: ^7.0
- vlucas/phpdotenv: ^4.0
This package is auto-updated.
Last update: 2024-09-29 05:55:52 UTC
README
这是一个为处理多个环境而设计的简单环境检测器。该软件包在初始设置后可能不需要经常运行。
这对于多个环境设置来说非常棒。
有时你不想将你的 .env 文件保存到你的仓库中,在这种情况下,将 .env* 添加到你的 .gitignore 文件中。
需求
此软件包仅适用于 Laravel 框架 7 及以上版本。如果你在寻找与 5 和 6 版本兼容的软件包,请使用 casperwilkes/environment_detector。
安装
要使环境检测器运行,需要几个步骤。
Composer
通过 composer 安装软件包
composer require casperwilkes/laravel-environment_detector2
Laravel 发布
通过 composer 安装后,你将想要发布项目的资源文件
php artisan vendor:publish --tag=env-detector
这将发布必要的引导文件和配置文件。
引导文件位于 ./bootstrap/environment_detector.php。
配置文件位于 ./config/environment_detector.php。
检查配置
发布配置文件后,你将想要更新它以包含你的环境以及预期的简写名称。
默认情况下,已经设置了一些环境。
'environments' => [ 'local' => 'local', 'dev' => 'localhost', 'qa' => '', 'stage' => '', 'prod' => '', ],
你可以使用任何你想要的简写名称来描述你的环境阶段。这将创建 .env 文件的简写名称。
对于环境名称,你将想要机器的主机名。你可以在命令行中运行 hostname 来获取它。
例如,如果你有两个名为 prod_one 和 prod_two 的生产环境,你将使用这些作为简写名称,并使用机器的主机名作为环境字段。
'environments' => [ 'local' => 'local', 'dev' => 'localhost', 'prod_one' => 'box284.gatorhost.com', 'prod_two' => 'box246.redhost.com' ],
发布软件包
发布供应商资源后,你将想要发布软件包。
要发布软件包,请运行
php artisan envdetector:publish
这将创建必要的环境文件,并更新你的 App.php 以要求 environment_detector。你的上一个版本的 App.php 将在同一目录中进行备份。
这将遍历你的 environment_detector 配置,并为每个找到的环境创建一个 .env 文件。
因此,对于我们的先前示例,我们将得到 4 个不同的 .env 文件。
- .env.local
- .env.dev
- .env.prod_one
- .env.prod_two
移除软件包
如果你出于任何原因想要移除软件包,你可以取消发布软件包。
运行
php artisan envdetector:unpublish
这将删除引导文件,并从备份过程中恢复你的应用。
注意:如果没有找到备份,它将尝试从 App.php 中删除 require 语句。
使用
envdetector 命令有几种使用选项。
发布
对于发布命令,有三个选项
- 引导 (-b|--bootstrap)
- 这将备份
App.php并在引导中添加 require 语句,以根据配置加载正确的.env文件。
- 这将备份
- 配置 (-c|--configs)
- 这将根据配置文件创建必要的
.env.*配置文件。它们将从原始的.env文件中复制。
- 这将根据配置文件创建必要的
- 全部(-a|--all),这将运行所有其他选项
注意
对于引导选项,将在同一目录下创建原始App.php的备份副本。如果您之前对App.php进行了更改,并希望回滚,这将用于这种情况。
对于配置选项,它将检测特定配置是否已存在,以及是否应该被覆盖。在假设之前将出现提示请求权限。如果没有配置已经设置,它将创建它们。您可以选择全部覆盖,或者只覆盖一些。
这在您只添加了1或2个新环境时非常有用。
原始的.env.example和.env将始终由该包保持不变。
取消发布
对于取消发布命令,有3个选项
- 引导 (-b|--bootstrap)
- 这将将
App.php文件恢复到其原始内容。
- 这将将
- 配置 (-c|--configs)
- 这将删除配置文件以及所有创建的
.env.*文件。
- 这将删除配置文件以及所有创建的
- 全部(-a|--all),这将运行所有其他选项