Yii2应用程序不在Heroku域上显示

时间:2015-10-15 23:16:03

标签: php heroku yii yii2

我安装了Yii2"基本"使用composer在Cloud9工作区上创建应用程序。它运行正常,你可以在这里看到https://portfolio-php--dfmmalaw.c9.io/basic/web/index.php

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

"禁止您无权访问/使用此服务器。"

以下屏幕截图是我的Cloud9工作区 http://prntscr.com/8rrkn0

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

2 个答案:

答案 0 :(得分:6)

在获得Herokai,David Zuelke的帮助后,我决定创建一个关于“在Cloud9中创建Yii2应用程序→推送到Github→部署到Heroku”的主题的操作方法。请参阅下文(如果更容易阅读,请在顶部显示google doc链接):

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

1)创建Yii2“基本”应用程序:

290795 $ composer create-project --prefer-dist yiisoft/yii2-app-basic basic

2)进入“基本”目录

290795 $ cd basic/

3)初始化“基本”目录的本地仓库

basic $ git init

4)添加并提交Yii项目

basic $ git add .
basic $ git commit -m "basic Yii project"

5)添加将指向“web”目录中的index.php(条目脚本)的proc文件

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应用程序添加日志记录到Heroku(没有开箱即用的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)

答案 1 :(得分:-1)

最简单的方法是检查您的apache日志。我没有Heroku的经验,但我相信他们确实可以访问它们。只需看看那里,您就会看到问题所在。白页通常意味着这是一个灾难性的错误。

另一件要看的是你是否使用过短的php标签。您不应该这样,通常是在您的计算机上放松的设置,但对托管服务器更严格。但是再看看日志,他们也会告诉你。

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