当我安装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安装已经自我意识一样。耶稣!
答案 0 :(得分:19)
请参阅此问题:laravel/framework#1526
加密机制的变化是原因。我的解决方案是清空sessions
文件夹中缓存的views
和storage
,然后运行php artisan key:generate
并重新启动服务器。我不确定这个过程的哪个部分解决了这个问题,但我从那时起就没有看到它。
答案 1 :(得分:0)
你能发布你正在做的导致这个错误的事吗?你不应该修改核心 - 因为如你所说,更新将覆盖它。
答案 2 :(得分:0)
命令> php artisan cache:明确解决了我的问题。 我没有重启服务器
答案 3 :(得分:0)
您必须设置一个新闻密钥,使用以下命令:
php artisan key:generate
在测试之后再次运行Laravel应用程序
php artisan serve