1

我遇到了一种情况,我正在开发的应用程序需要确定它是在 Heroku 上运行还是在本地运行。(旁注,但 Heroku 上的 Imagemagick 似乎不尊重 -format 选项,因此返回的结果与本地开发人员不同。与问题不完全相关)。

Heroku 上是否有任何本机环境变量可供应用程序使用来确定这一点?

我已经通过 Heroku 的文档进行了相当多的搜索和阅读,但我没有找到任何关于此的信息。

谢谢!

4

1 回答 1

2

您可以使用任何数量的启发式方法来确定您是否在 Heroku 上以合理的准确度运行,但它们大多是 hack(查看目录结构等)。我不知道系统提供的任何简单的“这是 Heroku”环境变量。

在这种情况下,“正确”的做法是实际确定与您的应用程序相关的功能差异是什么,然后专门针对这些差异进行测试。例如,如果您完全担心 Imagemagick 的工作方式不同,那么您应该找出它工作方式不同的原因并进行测试(是否缺少必需的库?Heroku 是否使用不同的版本?等等)即使您部署到另一个不是 Heroku 但有同样问题的主机,你的应用程序会识别出来。

如果这不是一个选项,您可以随时设置您喜欢使用的任何环境变量heroku config

于 2012-11-29T20:56:53.697 回答