我在两个“域”本地工作。我的机器上有 enterprise.local 和 application.local 虚拟主机,我需要为“local”或“.local”设置域 cookie,但在正确设置 cookie 时遇到了一些麻烦。在 application.local 中,我有这个:
setcookie( 'iPlanetDirectoryPro', trim( $token_id ), '0', '/', '.local' );
header( 'Location: /adcom-sso' );
我也试过这个:
header( 'Set-Cookie: iPlanetDirectoryPro=' . trim( $token_id ) . '; path=/' );
header( 'Location: /adcom-sso' );
使用setcookie()
,不会设置任何 cookie。使用标头Set-Cookie
设置cookie 。我已经从两者中删除了重定向,结果永远不会改变。它适用于,但不适用于。这很好,因为我真的不喜欢我使用哪种解决方案,但是在解决方案中,只要我添加一个域,它就会全部崩溃:Set-Cookie
setcookie()
Set-Cookie
header( 'Set-Cookie: iPlanetDirectoryPro=' . trim( $token_id ) . '; path=/; domain=local' );
一旦我添加了域值,我就会收到一个标题错误:
Header may not contain more than a single header, new line detected.
我已经尝试将域值设置为“local”和“.local”。行为没有改变。
我很少需要显式访问 cookie,所以我希望我只是遗漏了一些明显的东西,但我肯定看不到它。任何见解将不胜感激。
更新:我想我已经进一步缩小了范围。只要我不包含域值,这两种方法似乎都可以工作。使用“local”或“.local”作为 cookie 的特定域会不会有问题?