我遇到了我正在开发的应用程序需要确定它是在Heroku上运行还是在本地运行的情况。 (旁注,但Heroku上的Imagemagick似乎不尊重-format选项,因此返回的结果与本地dev不同。与问题不完全相关。)
Heroku上是否有可以由应用程序用来确定这个的本地环境变量?
我已经通过Heroku的文档进行了相当多的搜索和阅读,但我没有找到任何关于此的信息。
谢谢!
答案 0 :(得分:2)
您可以使用任何数量的启发式方法来确定您是否以合理的准确度在Heroku上运行,但它们主要是黑客攻击(查看目录结构等)。我不知道系统提供的任何简单的“这是Heroku”环境变量。
在这种情况下要做的“正确”事情是实际确定与您的应用程序相关的功能差异,然后进行具体测试。例如,如果您的关注完全是Imagemagick的工作方式不同,那么您应该找出它的工作方式不同并进行测试(缺少必需的库吗?Heroku是否使用不同的版本?等等)即使您部署到另一个不是Heroku但有相同问题的主机,你的应用程序会识别出来。
如果这不是一个选项,您可以随时使用heroku config
设置您喜欢的任何环境变量。