Javascript 应用程序[web.1]:警告:connect.session()内存存储不可用。Heroku不工作
请帮助我,heroku应用程序错误,这是heroku查看日志: 2020-03-25T00:13:32.809756+00:00应用程序[web.1]:警告:connect.session MemoryStore不可用 2020-03-25T00:13:32.809769+00:00应用程序[web.1]:专为生产环境设计,因为它会泄漏 2020-03-25T00:13:32.809770+00:00应用程序[web.1]:内存,并且不会超过单个进程。 2020-03-25T00:13:32.821438+00:00应用程序[web.1]:服务器在8000上启动 2020-03-25T00:13:32.958702+00:00应用[网站1]:veritabanına bağlandıJavascript 应用程序[web.1]:警告:connect.session()内存存储不可用。Heroku不工作,javascript,mongodb,heroku,Javascript,Mongodb,Heroku,请帮助我,heroku应用程序错误,这是heroku查看日志: 2020-03-25T00:13:32.809756+00:00应用程序[web.1]:警告:connect.session MemoryStore不可用 2020-03-25T00:13:32.809769+00:00应用程序[web.1]:专为生产环境设计,因为它会泄漏 2020-03-25T00:13:32.809770+00:00应用程序[web.1]:内存,并且不会超过单个进程。 2020-03-25T00:13:32.8
我相信我能帮助你,我也犯了同样的错误,不得不自己调试。 你有几个选择。 第一:您使用express session创建了一个用户会话,但忘记在heroku config vars中将会话机密添加到VAR中 例: 使用process.env.SESSION\u SECRET而不将该秘密添加到heroku vars会出现我的情况下的错误 第二:您没有指定会话的存储位置。您应该添加一个将会话存储到数据库中的存储系统。这有助于您的应用程序管理会话 例如,在mongodb中,您可以使用connect mongo,您应该找到一个存储包和其他数据库 例: 通过这样做,您将会话存储在mongo中 第三:如果全部失败,最后一个选项是存储cookis客户端而不是服务器端。若要执行此操作,必须将express会话替换为cookie会话 例: 然后编写应用程序。正常使用 希望这对您有所帮助,很抱歉回复太晚
app.use(
session({
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: true,
const session = require('express-session');
const MongoStore = require('connect-mongo')(session);
app.use(session({
secret: 'foo',
store: new MongoStore(options)
}));
npm i cookie-session
var session = require('cookie-session');