2013-09-24 51 views
-1

看起來我的節點應用程序在Heroku上時,我的req.session(.user)不存在。事情在我的本地機器上運行,當我推送到heroku時,我可以訪問我的redis-to-go商店以用於其他用途,但是當我登錄並繼續進行身份驗證的頁面時,服務器出現「內部服務器錯誤」頁面,並且「不能在日誌中讀取未定義的屬性'currentUser',w/undefined = req.session,我相信。nodejs/redis auth在本地工作(w/Foreman),但不是在Heroku

另外,我在這兩個文件的開頭相同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的/快遞/ Redis的,我意識到,問題可能出上面的代碼不在被導出和調用的函數中,所以我將它移入,但我無法部署它。

git add . 
git push heroku master 
heroku releases 

後,我得到部署和回滾,我收到了同樣的老套列表...

因此,1)我的問題是,我有我的代碼導出FN之外?

2)如何推送我的更改? Heroku有沒有可能在Heroku上用完內存?我的程序不是很大...

編輯2 - 我想通了。我需要做一些小的改變。

感謝, 約翰

+1

你能否用適合你的解決方案回答你自己的問題? – RaphKomjat

回答

0

試着改變你的第一行:

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

如果還是不行,加的console.log語句,查看if..else語句,你的哪一面'再次襲擊Heroku。

相關問題