FreeABC
记忆重叠

thinkphp 3.1版本cookie(null) 无效解决办法

 

解决方案1:

修改 thinkphp/common/functions.php 中的 cookie()方法,

// 清除指定前缀的所有cookie
if (is_null($name)) {
    if (empty($_COOKIE)) return;
    // 要删除的cookie前缀,不指定则删除config设置的指定前缀
    $prefix = empty($value) ? $config['prefix'] : $value;
    if (!empty($prefix) || null == $name) { // 如果前缀为空字符串将不作处理直接返回//
        //增加 null == $name 判断
        foreach($_COOKIE as $key = >$val) {
            if (0 === stripos($key, $prefix) || null == $name) {
                //增加 null == $name 判断
                setcookie($key, '', time() - 3600, $config['path'], $config['domain']);
                unset($_COOKIE[$key]);
            }
        }
    }
    return;
}

 

你要在Config.php里配置一下前缀才能用cookie(null),没有设置前缀的话只能用cookie(‘name’,null)逐个清空。

 

config.php增加内容

“COOKIE_PREFIX”=>’prefix_’,

 

 

 

 

 

 

 

 

 

参考贴

http://www.thinkphp.cn/bug/2602.html

未经允许不得转载:Free-Abc智能 » thinkphp 3.1版本cookie(null) 无效解决办法
分享到: 更多 (0)