php setcookie 显式到本地主机

Posted

技术标签:

【中文标题】php setcookie 显式到本地主机【英文标题】:php setcookie explicitly to localhost 【发布时间】:2012-01-28 09:41:12 【问题描述】:

我正在尝试将 php 中的 setcookie 设置的 cookie 与 Rails 中的 cookie 进行协调。问题是当我在 PHP 中使用 COOKIE_DOMAIN false 将 cookie 设置为 localhost 域时,它会将其设置为域 127.0.0.1。但是 Rails 设置为 localhost 域而不是 127.0.0.1 域使用 localhost。因此,对于 localhost 域,我有两个不同的域(127.0.0.1 和 localhost)。如何修复它,使用 setcookie 将 cookie 显式设置为 localhost 域。

谢谢!

【问题讨论】:

您的 PHP 和 rails 应用程序分别在哪个 URL 上运行? @Pekka,你是对的,它是如此简单,只是路径不同;) 【参考方案1】:

cookie 的域取决于设置 cookie 时的当前域。确保您的两个应用程序都指向localhost - 然后它应该可以工作。

【讨论】:

【参考方案2】:

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

您需要手动将$domain 设置为'localhost'

【讨论】:

你试过了吗?我不认为它会起作用。您不能将 cookie 设置为属于其他类似的域 您可以设置一个域,例如到 '.domain.com' 也匹配子域,所以这只是一个想法。还没试过。

以上是关于php setcookie 显式到本地主机的主要内容,如果未能解决你的问题,请参考以下文章

添加文件cookie PHP(主机)

多个 localhost 子域的 setcookie 用法

上传到实时服务器后,setcookie 不起作用

PHP setcookie 网络函数

PHP:setcookie() 和 unset() 不删除 cookie

unset($_COOKIE['name']) 与 PHP$_ 中的 setcookie