【发布时间】:2021-11-16 03:33:26
【问题描述】:
在将我的 Symfony5/php7.4/MariaDB 应用程序从 Github 部署到 Heroku 时,我收到以下错误消息:"{"message":"Uncaught PHP Exception Twig\Error\LoaderError:"Unable to find template "base.html .twig”(查看:/app/templates、/app/vendor/symfony/twig-bridge/Resources/views/Form)在“home.html.twig”中 虽然我的项目中的模板文件夹中确实有一个 base.html.twig 文件。
我已经做了什么,因此不考虑失败的原因:
- 我在项目的根目录下创建了一个 procfile,说明 web:heroku-php-apache2 public/ 这是我项目中文件的确切名称,即 public/,
- 感谢 composer require apache-pack 命令,我在项目的根目录中添加了一个 .htaccess 文件,
- 我在 Heroku 中使用 Heroku 附加的正确插件 DB url 设置了我的配置变量,并将我的 APP_ENV 设置为 prod 环境,
- 我在项目中设置了所有捆绑包配置,以便它们也可以在 prod 环境中工作,
- 我重新部署了我的应用程序,
- 在我的开发环境中,应用程序运行良好。我的 composer.josn 文件中有一个自动加载 psr4 策略,如下所示:
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
指向 App 命名空间的 src 文件。
- 所有文件都有正确的命名空间。
- 我的文件目录名称如“public”、“templates”不包含大写字母,因为我在研究 SOF 时看到了类似的帖子,指出 Heroku 系统使用的 Linux 区分大小写。这似乎不是我的问题。
- 我什至在每个文件和我的自动加载 psr4 中将我的“App”命名空间重命名为“app”命名空间,因为错误消息中提到“looked into: /app/templates”没有大写字母。这会生成一个 Heroku 失败的构建。
再一次,虽然我专门为 Heroku 生产环境设置了新的环境变量,但这个问题仅在部署到 Heroku 时出现。
有谁知道这个错误消息的原因可能是什么?非常感谢。
PS:如果您因为发现它不清楚或无用或没有显示足够的研究(尽管我做过)而对这个问题进行评分,请具体并添加评论以解释您的负面评价的原因,以保持这个地方的质量,并帮助我了解您的评分。
【问题讨论】:
标签: php symfony templates heroku twig