为什么我在写入会话时突然开始收到服务器的 502 响应?

Why do I suddenly start receiving 502 responses from the server when writing to the session?

我在网上商店工作,购物车存储在会话中。我注意到在将一定数量的不同项目添加到购物车后,当我想添加更多(不同项目)时,我开始收到 502 响应。我正在使用 Laravel 并且该站点是通过 Laravel Forge(使用 Nginx)托管的。我正在使用 cookie 来存储会话。

.env

SESSION_DRIVER=cookie

我找到了很多建议的解决方案,但 none 对我有用。

我同时找到了解决这个问题的方法(见下面的答案)。我问这个问题不是因为我需要帮助,而是因为我想帮助那些为这个问题而苦苦挣扎的人,因为它花了我很多时间。

根据 Whosebug 的一位联合创始人的这篇博文,积极鼓励提问只是为了自己回答问题:https://Whosebug.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/

我的问题的解决方法是选择不同的会话驱动程序。该问题似乎与浏览器实施的 cookie 限制有关:https://github.com/laravel/framework/issues/18112

所以我转而使用文件来存储会话。

.env

SESSION_DRIVER=file

但这并没有立即奏效。它只是在我通过 ssh 进入服务器并 运行 这些命令后才开始工作:

composer dump-autoload
php artisan config:clear
php artisan cache:clear

(另外,我清除了浏览器中为此站点存储的所有 cookie。)