Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2应用程序未在Heroku域上显示_Php_Heroku_Yii_Yii2 - Fatal编程技术网

Php Yii2应用程序未在Heroku域上显示

Php Yii2应用程序未在Heroku域上显示,php,heroku,yii,yii2,Php,Heroku,Yii,Yii2,我使用composer在Cloud9工作区上安装了一个Yi2“basic”应用程序。正如你在这里看到的,它运行良好 问题是我在部署到Heroku URL后尝试查看时出现以下错误 “禁止您没有访问/访问此服务器的权限。” 下面的屏幕截图是我的Cloud9工作区 我甚至尝试将basic/web/index.php添加到Heroku URL中,但只得到一个空白页面。我做错了什么 最简单的方法是检查apache日志。我没有与Heroku合作的经验,但我确信他们确实提供了接触的机会。只要看看里面,你就会

我使用composer在Cloud9工作区上安装了一个Yi2“basic”应用程序。正如你在这里看到的,它运行良好

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

“禁止您没有访问/访问此服务器的权限。”

下面的屏幕截图是我的Cloud9工作区


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

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

另一件需要注意的事情是,您是否使用了简短的php标记。您不应该这样做,这通常是一个在您的计算机上更宽松的设置,但在托管服务器上更严格。但是再看看日志,他们也会告诉你这一点

这是针对高级模板的,因此不适合您: 我猜您没有像文档中告诉您的那样运行“php init”。init命令不仅仅是第一次获得应用程序,而且每次在新服务器上设置应用程序时也是如此。它创建index.php和您肯定需要的其他配置文件。只需再次按照yii2安装说明进行操作

在得到Herokai、David Zuelke的帮助后,我决定创建一个关于“在Cloud9中创建Yi2应用程序”主题的操作指南→ 推送到Github→ 部署到Heroku”。请参见以下内容(如果更容易阅读,请参见顶部的谷歌文档链接):

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

290795 $ composer create-project --prefer-dist yiisoft/yii2-app-basic basic
2) 移动到“基本”目录

290795 $ cd basic/
basic $ git init
basic $ echo "web: vendor/bin/heroku-php-apache2 web/" > Procfile
basic $ git add Procfile 
basic $ git commit -m "Procfile for Heroku"
3) 初始化“基本”目录的本地repo

290795 $ cd basic/
basic $ git init
basic $ echo "web: vendor/bin/heroku-php-apache2 web/" > Procfile
basic $ git add Procfile 
basic $ git commit -m "Procfile for Heroku"
4) 添加并提交Yii项目

basic $ git add .
basic $ git commit -m "basic Yii project"
5) 添加指向“web”目录中index.php(条目脚本)的procfile

290795 $ cd basic/
basic $ git init
basic $ echo "web: vendor/bin/heroku-php-apache2 web/" > Procfile
basic $ git add Procfile 
basic $ git commit -m "Procfile for Heroku"
6) 注释掉调试内容(我手动而不是从命令行执行此操作)

7) 这将依赖关系从v1.0.3更新为v1.1(绝对必要性)

8) 创建Heroku应用程序并推送到它。(我创建并推送到Github repo)

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

10) 这允许“联系人”页面工作(不确定原因)


你好,米海。我看不出上面链接的文档中说在哪里使用“phpinit”命令。php文件是在我通过Composer安装Yii2框架时创建的。它位于basic/web目录中,我可以在Cloud9中运行该应用程序,正如您在这里看到的>>>>>>>>>您好,很抱歉我在高级模板上做了太多工作,该模板有一个init。让我弄清楚什么是什么。