我已经通过这个错误工作了几天,这里是问题
我的项目在localhost上正常工作,我刚把它上传到服务器,这个错误出现了!以下是一些事实:
- CSRF令牌在FORM下正常工作,没有任何问题,因为它在localhost
- 我尝试了许多解决方案,要么改变cookie名称或SESSION_DOMAIN为。mydomain.com如这篇文章 所示
My Form is like
<form method="POST" action="{URL SUPPOSED TO BE PATCH}" accept-charset="UTF-8">
<input name="_method" type="hidden" value="PATCH">
<input name="_token" type="hidden" value="{Key}">
...
</form>
我的。env文件
APP_NAME=name
APP_ENV=production
APP_KEY={key}
APP_DEBUG=ture
APP_URL={APP URL}
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE={DB NAME}
DB_USERNAME={USER NAME}
DB_PASSWORD={PASSWORD}
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN={.mydomain.com}
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
ACTIVITY_LOGGER_ENABLED = true
My Session.php file
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => env('SESSION_CONNECTION', null),
'table' => 'sessions',
'store' => env('SESSION_STORE', null),
'lottery' => [2, 100],
'cookie' => 'test',
'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE', true),
'http_only' => true,
'same_site' => null,
还,我有两个项目有相同的错误,但不相同的版本上面数据中的第一个项目是6.20.30
版本第二个是7.28.4
解决了!
所有问题都在请求
中的Content-Length
标头如果我超过了使用METHODPATCH发送给请求的正文内容的大小限制它将发送请求POST
您可以通过php.ini更改content-length
的大小在你的php文件夹在本地或在MultiPHP INI编辑器在我的情况下(cpanel)通过设置
post_max_size=500m
upload_max_filesize=500m
500m参考500兆(您可以根据需要最小化或最大化)
,那么您应该在本地重新启动apache服务器sudo service apache2 restart
或者在服务器上通过WHM重新启动它-你应该有root权限-.