1

開発中のアプリが Heroku で実行されているか、ローカルで実行されているかを判断する必要がある状況に遭遇しました。(補足ですが、HerokuのImagemagickは -format オプションを尊重していないようです。そのため、返される結果はローカル開発者とは異なります。質問には完全には関係ありません)。

これを判断するためにアプリで使用できる Heroku のネイティブ環境変数はありますか?

Heroku のドキュメントをかなり検索して読みましたが、これに関する情報は見つかりません。

ありがとう!

4

1 に答える 1

2

Heroku で実行しているかどうかを妥当な精度で判断するために使用できるヒューリスティックはいくつもありますが、それらのほとんどはハックです (ディレクトリ構造などを調べてください)。システムによって提供される単純な「これは Heroku です」という環境変数を認識していません。

この状況で行うべき「正しい」ことは、アプリケーションに関連する機能上の違いが何であるかを実際に判断し、それらを具体的にテストすることです。たとえば、Imagemagick の動作がまったく異なることが懸念される場合は、なぜ動作が異なるのかを調べてテストする必要があります (必要なライブラリが不足していないか、Heroku が別のバージョンを使用していないかなど)。 Heroku ではない別のホストに同じ問題がある場合、アプリはそれを認識します。

これがオプションでない場合は、 を使用していつでも任意の環境変数を設定できますheroku config

于 2012-11-29T20:56:53.697 に答える