-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 回答