为什么 setcookie 返回 null?

该var_dump($cookie_set)调用说明NULL了以下代码。


// set cookie with token

$cookie_set = setcookie('login_perma', $token, array(

    'expires' => time()+1000*24*60*60

    , 'secure' => true

    , 'httponly' => true

    , 'samesite' => 'Lax'

));

var_dump($cookie_set);

Php.net 参考说只会返回真/假:


如果在调用此函数之前存在输出,则 setcookie() 将失败并返回 FALSE。如果 setcookie() 成功运行,它将返回 TRUE。


那么为什么返回 null ,我该如何解决呢?


三国纷争
浏览 81回答 2
2回答

慕婉清6462132

根据php 文档中的setcookie, 您可以像这样使用它:$cookie_set = setcookie(    'login_perma',// name    $token,// value    time()+1000*24*60*60,// expires    null,// path (optional)    null,// domain (optional)    true,// secure    true,// httponly));或者$cookie_set = setcookie(    'login_perma',// name    $token,// value    null,// expires    null,// path    null,// domain    null,// secure    null,// httponly    array(// options        'expires' => time()+1000*24*60*60,        'secure' => true,        'httponly' => true,        'samesite' => 'Lax'    ));然后var_dump($cookie_set);

呼唤远方

options 数组参数是在 PHP 7.3 中引入的。如果尝试在以前的版本中使用它,则调用将返回 null。
打开App,查看更多内容
随时随地看视频慕课网APP