itsdamien / laravel-heroku-config-parser
解析Heroku配置变量如DATABASE_URL或REDIS_URL以与Laravel协同工作。
Requires
- php: >=5.6.4
- illuminate/support: ~5.0
Requires (Dev)
- phpunit/phpunit: ~5.7
- satooshi/php-coveralls: ^1.0
This package is auto-updated.
Last update: 2020-01-06 11:08:23 UTC
README
解析Heroku配置变量如DATABASE_URL
或REDIS_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_URL
和REDIS_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_DATABASE
和KEY_REDIS
来选择要解析哪个配置变量
heroku config:set KEY_DATABASE=HEROKU_POSTGRESQL_BRONZE heroku config:set KEY_REDIS=REDIS_URL_BACKUP
许可
Laravel Heroku Config Parser是开源软件,许可协议为MIT许可