【问题标题】:Symfony deployment on heroku points to app folderHeroku 上的 Symfony 部署指向应用文件夹
【发布时间】:2016-12-14 19:42:19
【问题描述】:

我正在尝试在 heroku 上部署 symfony 应用程序,并且我能够更新架构并且一切都很好,但是当我尝试访问我得到的站点时

禁止 您无权访问此服务器上的 /。

所以使用命令heroku logs --num 10我可以看到错误

无法提供目录 /app/web/:没有匹配的 DirectoryIndex (index.php,index.html,index.htm) 找到,和服务器生成的目录 选项指令禁止的索引

如您所见,heroku 正在尝试访问 /app/web/ 而不仅仅是 web,因此,甚至我的资产也正在通过 app/web/css 访问,这当然是错误的。

那么我怎样才能摆脱这个app?我不明白为什么 Heroku 甚至指向那个。

我一遍又一遍地完成了Symfony documentation 中提到的步骤,但我似乎无法找出我错过了什么?

Procfile 似乎指向网络,那么 app 来自哪里?

web: vendor/bin/heroku-php-apache2 web/

我已经在网上浏览了其他文章,例如以下文章,但似乎没有任何东西可以解决我的问题。

Symfony on Heroku: 403 Forbidden You don't have permission to access / on this server

任何帮助将不胜感激。

【问题讨论】:

    标签: php heroku symfony procfile


    【解决方案1】:

    在 Heroku 上,您需要创建 .Procfile 并上传 创建 app.json Schema file,然后基于此 Heroku 将自动为您创建 .Procfile @987654322 @你可以看到 app.json Symfony 应用的例子。

    需要交叉检查的另一件事是确保在您的公共目录中还上传了.htaccess 文件。在 Symfony 中,公共目录是 web 文件夹,而在我的情况下,.htaccess 文件丢失了。

    在完成上述两个步骤后,我的应用在 Heroku 上运行良好。

    【讨论】:

      【解决方案2】:

      使用/web/ 代替web/:添加前导斜杠!

      您的Procfile 文件应包含以下内容:

      web: vendor/bin/heroku-php-apache2 /web/
      

      注意web 文件夹路径中的前导/

      【讨论】:

      猜你喜欢
      • 2021-10-13
      • 2015-05-17
      • 2020-07-14
      • 2018-02-09
      • 2021-07-12
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 2017-05-16
      相关资源
      最近更新 更多