Yii2应用程序不显示在Heroku域


Yii2 App not displaying on Heroku domain

我使用composer在Cloud9工作空间安装了一个Yii2 "basic"应用程序。运行正常,如您所见https://portfolio-php--dfmmalaw.c9.io/basic/web/index.php

问题是我在部署到Heroku URL后试图查看时出现以下错误。

"Forbidden ."您没有访问/的权限。"

下面的截图是我的Cloud9工作空间http://prntscr.com/8rrkn0

我甚至尝试添加基本/web/index.php到Heroku URL,但我只是得到一个空白页面。我做错了什么?

在得到Herokai, David Zuelke的帮助后,我决定创建一个关于"在Cloud9中创建Yii2应用程序→推送到Github→部署到Heroku"主题的教程。请参阅下面(如果更容易阅读,请将google doc链接放在顶部):

https://docs.google.com/document/d/15teHaGWUWSNW_VwdV3-7bVpQHNRv2G0Z8GPFbIB-ogs/edit

1)创建Yii2 " basic "应用程序:
290795 $ composer create-project --prefer-dist yiisoft/yii2-app-basic basic
2)移动到" basic "目录
290795 $ cd basic/

为" basic "目录初始化本地repo
basic $ git init
4)添加并提交Yii项目
basic $ git add .
basic $ git commit -m "basic Yii project"

5)添加procfile指向index.php(入口脚本)在" web "目录

basic $ echo "web: vendor/bin/heroku-php-apache2 web/" > Procfile
basic $ git add Procfile 
basic $ git commit -m "Procfile for Heroku"

6)注释掉调试的东西(我是手动做的,而不是从命令行)

basic $ vim web/index.php # remove dev/debug env stuff (not my way)
basic $ git add web/index.php 
basic $ git commit -m "remove dev/debug env"

7)这将依赖从v1.0.3更新到v1.1(绝对必要)

basic $ composer require fxp/composer-asset-plugin
basic $ git add composer.json composer.lock 
basic $ git commit -m "use fxp/composer-asset-plugin in project"

8)创建Heroku应用并推送给它。(我转而创建并推送到Github repo)

basic $ heroku create
basic $ git push heroku master (again I push to Github Repo synced with Heroku)

9)为Yii应用程序添加日志记录(不为Yii开箱记录)

basic $ echo "web: vendor/bin/heroku-php-apache2 -l runtime/logs/app.log web/" > Procfile
basic $ git add Procfile 
basic $ git commit -m "tail runtime/logs/app.log"
basic $ git push heroku master (again I push to Github Repo synced with Heroku)

10)这允许"联系人"页面工作(不确定为什么)

basic $ composer require ext-gd:* --ignore-platform-reqs
basic $ git add composer.json composer.lock 
basic $ git commit -m "require GD for contact CAPTCHA"
basic $ git push heroku master (again I push to Github Repo synced with Heroku)

最简单的方法是检查apache日志。我没有与Heroku打交道的经验,但我相信他们确实提供了接触的机会。看看里面,你就知道问题出在哪里了。白页通常意味着这是一个灾难性的错误。

另一件要看的事情是你是否使用了短的php标签。你不应该这样做,这通常是在你的电脑上更宽松的设置,但对托管服务器更严格。但是再看看日志,它们也会告诉你这些。

这是高级模板,所以不适合你:我猜你没有像文档告诉你的那样运行'php init'。init命令不仅适用于第一次获得应用程序,而且适用于每次在新服务器上设置应用程序时。它会创建index.php和其他您肯定需要的配置文件。只需再次按照yii2安装说明进行操作http://www.yiiframework.com/doc - 2.0/-指导-开始- installation.html