Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Laravel Cookie和普通php$\u Cookie之间的区别?_Php_Laravel_Cookies - Fatal编程技术网

使用Laravel Cookie和普通php$\u Cookie之间的区别?

使用Laravel Cookie和普通php$\u Cookie之间的区别?,php,laravel,cookies,Php,Laravel,Cookies,我用javascript设置了一个cookie,并试图用laravel PHP在后端进行读取。。当我尝试运行其中任何一个时,我得到空值: Cookie::get('locale'); $locale = $request->cookie('locale'); 现在,当我运行普通的旧php版本时,我通常会得到cookie $_COOKIE['locale']; 有什么区别?为什么在使用laravel版本时我会得到null?laravel Cookie是加密的,除非您执行类似的操作 ret

我用javascript设置了一个cookie,并试图用laravel PHP在后端进行读取。。当我尝试运行其中任何一个时,我得到空值:

Cookie::get('locale');
$locale = $request->cookie('locale');
现在,当我运行普通的旧php版本时,我通常会得到cookie

$_COOKIE['locale'];

有什么区别?为什么在使用laravel版本时我会得到null?

laravel Cookie是加密的,除非您执行类似的操作

return response('Hello World')->cookie(
    'locale', 'pt-BR'
);
你不能用英语读它

Cookie::get('locale');

这是因为laravel cookie加密。您可以不包括
EncryptCookies
中间件来避免此问题。从
App\Http\Kernel.php
$middlewareGroups
中删除
\App\Http\Middleware\EncryptCookies::class
,您是如何通过本机php代码设置cookie的?如果是,您必须通过laravel方法/代码设置它。我使用javascriptah在前端设置它。我明白了,这就是为什么它在laravel中返回null。也许您可以通过ajax在laravel代码中设置cookie。为了能够通过laravel
Cookie
类读取它,因为php框架有自己的会话和Cookie数组,您可以禁用特定Cookie的加密,而不是禁用所有内容的加密(这会破坏安全会话)。请看这里: