Laravel 中的 SerializableClosure 错误 - 您的序列化闭包可能已被修改,反序列化是不安全的

Che*_*ngs 7 php laravel-8

我在我的站点中使用 laravel v8 的域中出现此错误。 在此处输入图片说明

在此处输入图片说明

它在第 52 行显示错误index file在此处输入图片说明

以前我的 .env 文件没有读取。一旦我修复了那个错误,我就得到了这个错误。请帮我解决这个错误。

Ibr*_*him 23

为我解决的是在我的项目文件夹中运行以下内容:

php artisan route:clear
Run Code Online (Sandbox Code Playgroud)

我还在上面的命令之前运行了下面的命令,但错误仍然存​​在。只有当我执行上述操作时它才会消失。作为参考,这里是我事先运行的命令:

php artisan cache:clear
php artisan config:clear
php artisan view:clear
npm run dev
php artisan key:generate
Run Code Online (Sandbox Code Playgroud)

我还想指出,我正在使用以下堆栈:

Laravel v8
Jetstream
Inertia
Vue2
Run Code Online (Sandbox Code Playgroud)

  • 这个 `php artisan route:clear` 是我的解决方案 (3认同)

Jit*_*dav 7

由于文件中的APP_KEY值发生变化,可能会发生此问题.env

APP_KEY 用于安全数据传输,Laravel 建议通过将其设置为随机字符串来实现。

APP_KEY用于

  • 加密 cookie。
  • 为签名的 URL 和排队的闭包创建签名。
  • 使用 encrypt() 和decrypt() 助手加密值。

如果您使用key加密时使用的相同数据,则可以解密加密数据。

因此,如果可能,请查找备份.env文件并使用相同的文件APP_KEY来解决它。


Lui*_*uez 7

当我在生产中用开发中的 .env 替换我的 .env 文件时,就发生了这种情况。它失败了,因为它有一个不同的 APP_KEY,所以我必须在生产中生成一个新的 APP_KEY。

运行以下命令后解决:

php artisan key:generate
php artisan config:cache
php artisan route:cache
php artisan view:cache
Run Code Online (Sandbox Code Playgroud)

也许没有必要清除视图和路线。


Mur*_*mak 5

有时 php artisan cache:clear 不起作用..

您应该手动删除。例子

rm -rf bootstrap/cache/*.php
Run Code Online (Sandbox Code Playgroud)