itsdamien/laravel-heroku-config-parser

此包已被弃用且不再维护。没有建议的替代包。

解析Heroku配置变量如DATABASE_URL或REDIS_URL以与Laravel协同工作。

v1.1 2017-08-23 15:37 UTC

This package is auto-updated.

Last update: 2020-01-06 11:08:23 UTC


README

Latest Stable Version Total Downloads License Build Status Maintainability Test Coverage StyleCI

解析Heroku配置变量如DATABASE_URLREDIS_URL以与Laravel协同工作。

重要

由于Laravel 5.8的破坏性更改(感谢https://github.com/mathieutu提供的反馈),您可以使用此方法达到相同的目标

https://github.com/itsDamien/laravel-heroku-config-parser/issues/2#issuecomment-469709141

破坏性更改

https://github.com/laravel/framework/issues/27695

https://github.com/laravel/docs/pull/5039

为什么

当您将数据库或Redis服务器添加到Heroku应用程序时,Heroku会添加一个URL配置变量,如下所示:DATABASE_URL=postgres://usr:pwd@localhost:5432/hellodb

不幸的是,Laravel无法读取此变量,因此您可能需要手动解析它,如下所示

heroku config:set DB_CONNECTION=pgsql
heroku config:set DB_HOST=localhost
heroku config:set DB_PORT=5432
heroku config:set DB_DATABASE=hellodb
heroku config:set DB_USERNAME=usr
heroku config:set DB_PASSWORD=pwd

Laravel Heroku Config Parser将自动解析您的DATABASE_URLREDIS_URL,以动态设置Laravel所需的所有变量(请参阅列表)

安装

使用composer进行安装

composer require itsdamien/laravel-heroku-config-parser

Heroku

添加以下配置变量

heroku config:set KEY_DATABASE=DATABASE_URL
heroku config:set KEY_REDIS=REDIS_URL

Laravel

将以下代码块添加到您的config/database.php文件的顶部

if (class_exists('\ItsDamien\Heroku\Config\Parse')) {
    new \ItsDamien\Heroku\Config\Parse();
}

享受!

创建的ENV变量

DATABASE_URL postgres://usr:pwd@ec2-s1:5432/db1 mysql://usr:pwd@ec2-s2:3306/db2
DB_CONNECTION pgsql mysql
DB_HOST       ec2-s1                         ec2-s2                    
DB_PORT       5432                           3306                      
DB_DATABASE db1 db2
DB_USERNAME usr usr
DB_PASSWORD   pwd                           pwd                        
REDIS_URL redis://h:pwd@ec2-s1:11469
REDIS_HOST ec2-s1
REDIS_PORT 11469
REDIS_PASSWORD pwd

自定义要解析的配置变量

您可以通过设置KEY_DATABASEKEY_REDIS来选择要解析哪个配置变量

heroku config:set KEY_DATABASE=HEROKU_POSTGRESQL_BRONZE
heroku config:set KEY_REDIS=REDIS_URL_BACKUP

许可

Laravel Heroku Config Parser是开源软件,许可协议为MIT许可