我安装了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,但我只是得到一个空白页面。我究竟做错了什么?
答案 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