【发布时间】:2021-03-02 23:36:26
【问题描述】:
我设置了一个全新的骨架 Symfony 项目并添加了 API 平台包。我使用 make:entity 创建了一个实体,创建了一个迁移,能够成功执行迁移,现在可以在我的数据库中看到该表。
从 API swagger 文档页面(以及通过我本地终端中的 curl 请求),尝试对所有实体资源执行基本 GET 请求失败。该错误似乎是由于 API 使用 .env 文件中的 DATABASE_URL 而不是作为实际环境变量存在的 DATABASE_URL 造成的。这很容易看出,因为 .env 文件使用的是 MySQL,而我的实际环境变量使用的是 PostgreSQL。
执行printenv显示正确的值,bin/console debug:container --env-vars显示正确的值,并且由于迁移成功执行,Doctrine清楚地识别出正确的环境变量。
此外,如果我从 .env 文件中删除 DATABASE_URL 行,只需尝试加载 API 就会导致 500 错误,指出 Environment variable not found: "DATABASE_URL".
是什么导致 API 平台忽略我的环境变量,而 Symfony 和 Doctrine 可以正常识别它?
【问题讨论】:
标签: api-platform.com