gpt4 book ai didi

php - L5 随机 TokenMismatchExceptions

转载 作者:可可西里 更新时间:2023-11-01 00:31:22 26 4
gpt4 key购买 nike

我在 Laravel 5 中遇到随机 TokenMismatchExceptions。在 tokensMatch() 函数中使用以下代码我一直在尝试调试这个奇怪的问题:

Log::debug($request->session()->token(). ', ' . $token);

输出如下:

[2015-03-21 17:04:22] local.DEBUG: XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT, XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT  
[2015-03-21 17:04:34] local.DEBUG: XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT, XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT
[2015-03-21 17:04:36] local.DEBUG: snE0IERJ1VY0o4qmSMuHb4wH9lhQUf5ZtVObOFnR, XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT
[2015-03-21 17:04:36] local.ERROR: exception 'Illuminate\Session\TokenMismatchException' in vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php:47
Stack trace:
[...]
[2015-03-21 17:07:30] local.DEBUG: XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT, XJhAXXQumM0JLX9tFcQn1tQZMI1FtglDFuhi8abT

如您所见,前 2 个请求成功,第 3 个请求失败,第 4 个再次成功。我一直在使用 Fiddler 和 Chrome 网络工具,我可以确认所有请求都向服务器发送了完全相同的数据。

所以服务器端的 token 似乎发生了变化。奇怪的是,session 文件中的 token 似乎没有变化,错误的 token 总是我以前没见过的字符串,但总是以某种方式恢复为原始字符串。

这种情况经常发生,所以真的很烦人。起初我认为这可能是关于数据库 session 驱动程序的问题,但我现在正在使用文件驱动程序并且它仍在发生。

更新

我一直有这个问题。我使用 php artisan serve 在不同的 PC 和不同的项目上使用它。我也在不同的服务器和不同的项目(nginx 1.6.2,PHP 5.6.7)上使用它。

I'm not the only one with this problem .

很难调试,因为它是随机发生的,有时它会一段时间不出现,然后突然连续出现多次,或者只出现一次。通过简单地重新提交 POST 请求,它有时会再次工作,或者有时会导致另一个异常。

我在所有项目中唯一添加到 composer.json 的是 "illuminate/html": "5.*"。所有 Composer 包都是最新的。

一旦我获得有关这个非常奇怪的问题的更多信息,我会立即更新这个问题。

另一个更新

我创建了一个新的 L5 项目,并添加了一些最少的代码来重现此错误。我做的修改可以看到here (连同完整的测试项目)。我现在将尝试对这个项目进行一些调试。

最佳答案

对于一些人来说,这是 Laravel 5 的一个已知问题。

此处有关于此主题的公开 Github 问题单:https://github.com/laravel/framework/issues/8172

原因尚不清楚,已经持续了一段时间。有很多聪明人在研究它 - 但问题的明显随机性使其难以调试。

我建议您为该票提供您的信息,并留意那里以获取更多信息。

关于php - L5 随机 TokenMismatchExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29184992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com