2012-11-29 63 views
1

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

Heroku上是否有任何本机环境变量可以被应用程序用来确定?

我已经在Heroku的文档中进行了一些搜索和阅读,但是我没有在这方面找到任何信息。

谢谢!

回答

2

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

在这种情况下要做的“正确”事情是要真正确定与您的应用程序相关的功能差异,然后针对具体的测试进行测试。例如,如果您的担心完全是Imagemagick的工作方式不同,那么您应该了解它为什么会有不同的工作原理并进行测试(缺少必需的库?Heroku是否使用不同的版本?等等)。这样,即使您部署到另一个不是Heroku的主机,但有同样的问题,你的应用程序将认识到这一点。

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

+0

是的,我发现Imagemagick的处理方式有很多不同。但经过一段时间的阅读后,足以让env var在应用程序中配置和测试。 – Geuis

相关问题