在开发项目时,在添加新功能时,我会更新 2 个服务器上的所有文件:工作(付费托管)和测试(免费 - heroku)。部署到付费主机是使用 ftp 完成的(那里没有 ssh),并使用命令部署到测试主机:git push heroku master。
测试托管的部署发生得更频繁,一天几次,客户会在其中检查所有功能。问题是在测试服务器上更新文件的时候,每次session都清空,客户发誓每次登陆系统查看功能都烦死了,但是系统自动抛出(session被删除)他想留在系统中。
问题:作曲家会影响这个吗?可以修复吗?是否受清除缓存的composer命令影响?还是问题纯粹出在 heroku 服务器上,它会自动覆盖会话,所以除非您更改托管,否则无法解决这个问题?
看起来您当前正在使用文件系统来存储会话。临时文件系统不存储更改:每个人
dyno都有自己的这种“临时”文件系统的副本,并且在停止/重新启动时将忽略对其的所有更改将会话存储在
Redis或Memcached您使用的数据库中。这些存储保证了部署之间数据的安全。有关配置会话存储的更多信息,请参阅 Heroku文档部分的PHP 会话处理。在那里您可以获得有关此行为原因的更详细描述。