让应用程序确定它是否在Heroku上运行

时间:2012-11-29 20:23:13

标签: heroku environment-variables

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

Heroku上是否有可以由应用程序用来确定这个的本地环境变量?

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

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