0

嘿家伙希望你能帮助我。

我正在做一个项目,遇到了一个奇怪的问题,

我最初有这个代码

   public function create_visit($host_id,$type){
    $ip=$this->ci->input->ip_address();


    $visit=$this->ci->host_model->get_visit($host_id,$this->ci->input->ip_address());

    if($visit->num_rows()>0){//already created
        $date_week=new DateTime();
        $date_week->modify('-1 weeks');


        $visit_time=strtotime($visit->row()->create_date);
        if($date_week->getTimestamp()<$visit_time){
        $this->ci->input->set_cookie(COOKIE_PREFIX.'visit_id', $visit->row()->id, COOKIE_TIMEOUT);
        return;
        }


    }

问题就在这条线之后if($date_week->getTimestamp()<$visit_time){没有执行。它在 xamp 上运行良好,但在我的客户端服务器上却不行。我做了一堆回声,最终找到了罪魁祸首,所以我把代码改成了这个

public function create_visit($host_id,$type){
$ip=$this->ci->input->ip_address();


$visit=$this->ci->host_model->get_visit($host_id,$this->ci->input->ip_address());

if($visit->num_rows()>0){//already created
$date_week=time()-604800;


$visit_time=strtotime($visit->row()->create_date);
if($date_week<$visit_time){
$this->ci->input->set_cookie(COOKIE_PREFIX.'visit_id', $visit->row()->id, COOKIE_TIMEOUT);
return;
}

}

它现在可以工作了(只有提到的改变了),但我真的很想弄清楚问题是什么。如果有帮助的话,我正在使用带有 hmvc 插件的 codeigniter ......

4

1 回答 1

1

最可能的问题是服务器上的 php 版本。getTimestamp从 php 5.3 开始可用。

于 2012-12-20T19:39:15.983 回答