当前位置: 首页 > 知识库问答 >
问题:

Symfony 4 API部署到Heroku不工作

鱼安然
2023-03-14

我一直在尝试将最简单的Symfony 4 API部署到heroku。所以我做了一个作曲家req api,并更新了我的env和postgres原则,它在我的本地(通过书籍和评论)上运行良好。下一步是添加一个app.json以向heroku提供所有env变量,我还添加了一个Procfile,其中包含:

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

更进一步,我在自述中添加了一个“按下heroku”按钮,这样我就可以在部署时检查环境变量是否都设置好了。

构建是正确的,所有变量都在这里,数据库postgres被创建,表也被创建。但当我查看日志或尝试访问网站,甚至尝试卷曲时,什么都不起作用,我收到了404的回击。

我不知道我能做什么,我觉得自己被困住了。这里是我的文件示例:

应用程序。json

{
  "name": "Api-platform example",
  "description": "Api-platform first deploy",
  "keywords": ["api-platform", "symfony", "sample"],
  "success_url": "/",
  "env": {
    "APP_ENV": "prod",
    "APP_SECRET": "myappsecret",
    "CORS_ALLOW_ORIGIN": "*"
  },
  "addons": [
    {
      "plan": "heroku-postgresql",
      "options": {
        "version": "9.5"
      }
    }
  ],
  "buildpacks": [
    {
      "url": "heroku/php"
    }
  ],
  "scripts": {
    "postdeploy": "php bin/console doctrine:schema:create"
  }
}

[编辑]在我的应用程序的heroku仪表板上,我可以看到正确的Procfile,当我尝试bin/控制台debug: router时,我在控制台上看到了我所有的路由。所以我不明白为什么我到处都看到404。

我提前感谢你的帮助和好意。

问候你

共有1个答案

奚无尘
2023-03-14

实际上,还有一个软件包需要添加才能使其工作:

composer require symfony/apache-pack

一定要按Yes(这是一个有贡献的软件包)。

希望我在同样的情况下帮助了一些人。

再见

 类似资料:
  • 推荐先去了解下 在 Heroku 里部署 node.js 应用的文档。 首先,我们需要告诉 Heroku 安装项目的开发依赖包 devDependencies (以便能在 Heroku 环境下运行 npm run build): heroku config:set NPM_CONFIG_PRODUCTION=false 同时,我们想让应用以 生产模式 运行,绑定的主机IP为 0.0.0.0: he

  • 我得到一个错误,当我试图部署一个未经修改的版本的最新的Git桶源heroku. ! 无法使用sbt生成应用程序 ! 推送被拒绝,未能编译Scala应用程序 git@heroku.com:xxxxxx.git![远程拒绝]主- 一切都在本地构建和运行,没有问题。http://gitbucket.herokuapp.com/有一个演示应用程序,所以我知道这是可能的。我怎样才能绕过这个错误? [编辑]我

  • 我用ReactJS、NodeJS、MongoDb和Express创建了一个演示应用。试图部署在heroku上。如果我不使用mongo,它工作得很好,但在我介绍mongo db之后。我收到错误,无法收到/。我正在使用mongodb atlas。我需要heroku插件才能使用数据库吗? 服务器js 包裹json Propfile文件 web: npm运行开发 也尝试过网络:npm开始。

  • 下面是我在GitHub上的webapp代码:https://github.com/krzysztofskul/bookmarks-app.git,当我自动或手动部署它时,我会得到应用程序成功部署的信息,但是在heroku https://krzysztofskul--bookmarks-app.herokuapp.com上刷新页面时显示应用程序错误。我找不到原因,所以请你帮忙。

  • 我目前正在学习Michael Hartl的RoR教程,尽管我仔细地遵循了说明,但我的应用程序并没有正确地部署到heroku。帮助 我的文件看起来像这样 我输入了以下命令: 然而,我的最终结果是这样的:http://warm-wildwood-5691.herokuapp.com/“您要查找的页面不存在。” 这些是我的Heroku日志 2013-07-19T19:21:15.363798 00:00

  • 问题内容: 我正在尝试将Flask应用程序部署到Heroku,但是在推送代码时出现错误 我不确定该怎么做,我尝试将端口从5000更改为33507,但无济于事。我的Procfile看起来像这样: main.py 是启动服务器的主要Flask文件。 问题答案: 在Heroku托管的Flask应用中,我使用以下代码启动服务器: 在本地开发时,它将使用端口5000,在生产环境中,Heroku将设置环境变量