-1

ノードアプリが Heroku にある場合、req.session (.user) が存在しないようです。ローカルマシンで物事が機能し、heroku にプッシュすると、他の用途のために redis-to-go ストアにアクセスできますが、ログインして認証済みページに進むと、提供されたサーバーで「内部サーバーエラー」が発生しますページ、およびログの「未定義のプロパティ 'currentUser'を読み取れません」、w/undefined = req.session、と思います。

また、両方のファイルの先頭に同じ redistogo コードがあります。

if process.env.REDISTOGO_URL
    rtg = require("url").parse(process.env.REDISTOGO_URL)
    redis = require("redis").createClient(rtg.port, rtg.hostname)
    redis.auth(rtg.auth.split(":")[1])
else
    redis = require("redis").createClient()

編集:私はまだ Heroku/express/redis にかなり慣れていません。問題は、上記のコードがエクスポートされて呼び出される関数に含まれていない可能性があることに気付いたので、移動しましたが、できませんデプロイします。後

git add .
git push heroku master
heroku releases

以前と同じデプロイとロールバックの古いリストを取得します…</p>

だから、1)私の問題は、エクスポートされたfnの外にコードがあったことです??

2) 変更をプッシュするにはどうすればよいですか? Heroku でメモリが不足している可能性はありますか? 私のプログラムはそれほど大きくありません…</p>

Edit2 - 私はそれを理解しました。必要ないくつかの小さな変更がありました。

ありがとう、ジョン

4

1 に答える 1

0

最初の行を次のように変更してみてください。

if (typeof(process.env.REDISTOGO_URL) !== 'undefined')

それでもうまくいかない場合は、console.log ステートメントを追加して、Heroku で if..else ステートメントのどちら側にヒットしているかを確認します。

于 2013-09-24T09:02:36.807 に答える