Laravel 4 - unserialize():偏移量为0的32字节错误

时间:2013-05-31 17:56:31

标签: laravel laravel-4

当我安装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))));

然后错误就消失了。但是当然每次我运行作曲家更新时,这个改变都将被撤消。

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

我感谢任何帮助。

更新:只有在我使用Auth :: check()时才会发生这种情况。

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

4 个答案:

答案 0 :(得分:19)

请参阅此问题:laravel/framework#1526

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

命令> php artisan cache:明确解决了我的问题。 我没有重启服务器

答案 3 :(得分:0)

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

php artisan key:generate

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

php artisan serve