如何使用 PHP 和 Symfony 设置 cookie?

How to set a cookie with PHP and Symfony?

我的 Symfony 构建项目是 运行 在 localhost:8000。现在我需要创建一个名为 token.

的 cookie

我对 pathdomain 应该是什么感到困惑?我试过下面的代码,它没有创建任何 cookie。

$token = JWT::encode($tokenPayload, getenv("JWT_SECRET"));

$useHttps = true;

setcookie("token ", $token , $expireTime, "", "localhost:8000", $useHttps, true);

我建议使用不同的方法在 Symfony 中设置 cookie。基于本文:https://alvinbunk.wordpress.com/2017/04/03/http-cookies-in-symfony/

use Symfony\Component\HttpFoundation\Cookie;

$cookie = new Cookie(
    'token',
    $token,
    time() + ( 2 * 365 * 24 * 60 * 60)  // Expires 2 years.
);

此外,如果您想使用此令牌进行身份验证,我强烈建议您:https://github.com/lexik/LexikJWTAuthenticationBundle 这样您就不必担心手动保存 cookie。