Php Cookie未正确设置过期日期

Php Cookie未正确设置过期日期,php,magento,cookies,Php,Magento,Cookies,我试图将cookie设置为30天,但由于某些原因,设置后它会显示“会话”过期。已在Firefox和Chrome上验证。我不知道我做错了什么。感谢您的帮助 这是我的密码: $name = 'db_mc'; $value = $mc_cid . '-' . $mc_eid; $time = time()+3600*24*30; $path = '/'; $domain = 'www.testmage.local'; $cookie = Mage::getSingleton(

我试图将cookie设置为30天,但由于某些原因,设置后它会显示“会话”过期。已在Firefox和Chrome上验证。我不知道我做错了什么。感谢您的帮助

这是我的密码:

  $name = 'db_mc';
  $value = $mc_cid . '-' . $mc_eid;
  $time = time()+3600*24*30;
  $path = '/';
  $domain = 'www.testmage.local';

  $cookie = Mage::getSingleton('core/cookie');
  $cookie->set($name,$value,$time,$path,$domain);
更新:


我测试了setcookie(),结果正确。所以我想我必须使用它。有人知道为什么Magento版本只为会话设置吗?

Magento的cookies过期日期时间设置始终以秒为单位,您需要以秒为单位转换日期或时间,然后您将在Magento中相应地设置cookies

在magento中设置一个月的Cookies:

$expire = strtotime(date("m/d/Y, H:i:s A", time() + 60 * 60 * 24 * 30));

输出:2015年9月13日,上午10:43:39(按当前日期计算)。

当您
echo
时,
$time
的实际值是多少?为什么不直接使用?我同意上面的马特。不要使用/构建与PHP内部功能相同的外部功能。它将节省您的时间,并将学习您以正确的方式使用PHP。我使用Magento的方法是因为它是一个扩展本机Magento代码的Magento模块。尝试保持一致。是的,我也面临着同样的问题,比如我的cookie过期日期设置为“会话”。但我不明白问题到底是什么原因?