Laravel升级到6-传递给Symfony \ Component \ HttpFoundation \ Cookie :: __ construct()的参数2必须为字符串类型或为null,给定数组

时间:2020-03-09 10:46:50

标签: laravel

最近将我的Laravel应用程序从5.1升级到6.0.*,并遵循所有指南,几乎可以运行所有内容,但此错误不断弹出:

参数2传递给 Symfony \ Component \ HttpFoundation \ Cookie :: __ construct()必须属于 输入字符串或null,给定数组,在 /home/zlatan/Projects/sberbank/vendor/laravel/framework/src/Illuminate/Cookie/CookieJar.php 在第70行

我自己进行了一些研究,设法找到了一些解决方案,但没有一个对我有用:

  1. protected static $serialize = true;中间件添加了EncryptCookiesReference
  2. 清除了应用程序缓存,cookie,会话,视图
  3. 生成的新应用密钥

遵循上述异常的堆栈跟踪信息,似乎这一行代码破坏了我的应用程序:

return response()->view( $view, $data )->withCookie( cookie()->forever( session( 'section' ) . '_last', $content->id ) )->withCookie( cookie()->forever( session( 'section' ) . '_last_array', $array_cookie ) );

变量$array_cookie确实是一个数组。看起来像这样:

array:1 [▼
  51 => 69
]

由于我从一开始就没有处理过该应用程序,所以不确定该行代码应该做什么,但是从异常消息中猜测,我无法将数组传递给withCookies()方法还有。有什么办法吗?感谢您的帮助。

0 个答案:

没有答案