purrweb / yii2-heroku
生成yii2环境,以便在Heroku上轻松部署
Requires
- yiisoft/yii2: ~2.0
This package is not auto-updated.
Last update: 2024-09-18 09:36:12 UTC
README
此扩展允许您将环境文件生成到您的yii2高级应用程序中,以便在Heroku上轻松部署。如果您没有预发布或测试服务器,并且需要向某人展示您的应用程序如何工作,则此扩展可能很有帮助。在使用此扩展之前,请确保您有Heroku账户,并且知道如何创建应用程序以及如何使用它。
安装
php composer.phar require --dev --prefer-dist purrweb/yii2-heroku "*"
或添加到composer.json(require-dev部分)
"purrweb/yii2-heroku": "*"
用法
在控制台/config/main-local.php中添加以下内容
<?php return [ ... 'controllerMap' => [ 'heroku' => [ 'class' => 'purrweb\heroku\HerokuGeneratorController', ], ], ... ];
现在,您可以运行以下控制台命令来生成Heroku所需文件
$ php yii heroku
您将需要覆盖环境目录中的index.php。如果您没有更改该文件,您可以回答“是,覆盖”。如果您更改了该文件,您应该手动合并此扩展的文件和您的应用程序的文件。该命令将在应用程序根目录中生成3个文件,并在您的环境目录中创建一个名为“heroku”的目录,其中包含环境文件。
在您的应用程序根目录中,您将看到新的未跟踪文件
- "Procfile",简单的Heroku Procfile,在Heroku上运行nginx web服务器
- "nginx.conf",简单的nginx配置,允许后端和前端应用程序在Heroku的一个dyno上工作
- "post-install-cmd.sh",bash脚本,在您在Heroku上执行git push后自动启动
下一步,您需要在composer.json中添加以下脚本部分
"scripts": {
"post-install-cmd": [
"sh post-install-cmd.sh"
]
}
在您的环境目录中,您可以打开新文件并编辑它们。之后,手动运行“git add”和“git commit”命令,将所有生成的文件添加到您的存储库中。现在,您可以将代码推送到Heroku。如果一切顺利,您将能够跟随Heroku给出的URL。要运行您的yii2后端应用程序,只需点击以下链接:{您的应用程序URL}/backend。
如果您使用第三方库,不要忘记将其包含在composer.json文件中。例如,如果您使用php5-imagick库,请在composer.json的"require"部分中添加以下行
"ext-imagick": "*"
如果您打算在Heroku上使用数据库(例如,“cleardb”),请确保它在 environments/heroku/common/config/main-local.php 中得到正确描述(默认情况下,此文件配置为连接到“cleardb”数据库)。如果您需要运行“migrate”命令,您可以通过Heroku的bash轻松完成。只需运行Heroku的bash
$ heroku run bash
然后运行migrate命令
$ php yii migrate