jarnix / laravel-auto-environment
自动检测和配置具有多个env文件的多个环境
1.0.6
2018-03-14 17:18 UTC
Requires
- laravel/framework: ^5.5
Requires (Dev)
- orchestra/testbench: 3.x
- phpunit/phpunit: ^4.8|^5.2
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-29 05:08:15 UTC
README
通过主机名或http主机自动检测应用程序环境
支持多个环境和版本化的"env"文件。
从env文件、主机名或http主机检测应用程序环境。.env文件将始终覆盖其他文件(默认Laravel行为)
通过在bootstrap/app.php中添加以下代码使用此代码
\Jarnix\LaravelAutoEnvironment\Loader::init($app, [
'envsFolder' => '/config',
'hostLocalRegexp' => '/vagrantphp7',
'urlLocalRegexp' => '/l\.webedev\.com/',
'urlTestingRegexp' => '/test\.webedev.com/',
'urlProductionRegexp' => '/www\.webedev.com/'
]);
将不同的配置文件放在应用的"/config"文件夹中,或另一个文件夹中(由'envsFolder'参数指定)
- .env.local
- .env.testing
- .env.production
参数
您可以自定义这些参数
- envsFolder: 放置.env文件的位置(local.env, production.env...)
- hostnameLocalRegexp: 本地模式(cli)中主机名的正则表达式
- urlLocalRegexp: 本地模式(http)中http主机的正则表达式
- urlTestingRegexp: 测试模式(http)中http主机的正则表达式
- urlProductionRegexp: 生产模式(http)中http主机的正则表达式
您可以在任何地方强制设置环境
您也可以通过在应用的根目录下创建一个名为"env"的文件来强制设置您想要的环境,该文件包含您想要加载的环境。
然后此代码将在"envsFolder"文件夹中加载您想要的"env"文件。例如:如果文件内容是"local" => 将加载文件:/config/.env.local
您仍然可以在artisan中强制设置环境
如果您还没有创建env文件,您仍然可以通过以下方式强制设置环境
php artisan --env=testing
或使用.env文件
您可以使用.env文件作为通常使用,这将会绕过此代码。