6

当我安装 Laravel 4 时,我收到此错误:

ErrorException
unserialize(): Error at offset 0 of 32 bytes

C:\xampp\htdocs\blog\laravel\bootstrap\compiled.php
return unserialize($this->stripPadding($this->mcryptDecrypt($value, $iv)));

如果我像这样修改返回:

return unserialize(base64_decode($this->stripPadding($this->mcryptDecrypt($value, $iv))));

然后错误消失。但当然,每次我运行 composer update 时,这个更改都会被撤消。

这个问题的原因可能是什么?

我很感激任何帮助。

更新:这只发生在我使用 Auth::check() 时。

更新 2:现在它只适用于移除 base64_decode()。就像 xampp 安装已经变得有自我意识一样。耶稣!

4

4 回答 4

21

参考这个问题: laravel/framework#1526

加密机制的变化是原因。我的解决方案是清空文件夹中缓存的sessions和,然后运行并重新启动服务器。我不确定该过程的哪一部分解决了这个问题,但从那以后我就再也没有看到过。viewsstoragephp artisan key:generate

于 2013-06-04T14:37:38.917 回答
1

The command > php artisan cache:clear fixed the problem for me. I did not have to restart the server

于 2014-09-25T09:13:35.810 回答
0

你能发布你正在做什么导致这个错误吗?您不应该修改核心 - 因为正如您所说,更新会覆盖它。

于 2013-05-31T19:14:20.433 回答
0

您必须设置一个新闻密钥,使用以下命令:

php artisan key:generate

在该测试之后再次运行 Laravel 应用程序

php artisan serve
于 2019-06-22T16:55:23.537 回答