Php – CodeIgniter Fatal error: Allowed memory size of bytes exhausted

codeigniterfatal errorPHPphp.ini

I'm getting this Fatal Error Message in my codeIgniter, I've already tried some answers which has the same question.

I've already set my php.ini


    max_execution_time = 300
    max_input_time = 600
    memory_limit = 128M

But still I'm getting the same Fatal error message, I don't know if the problem is in my code or in php settings.

Here are some my of codes in controller:

public function blog(){
    $this->load->model("blog_model");
    $data["title"] = "CodeIgniter Projects - Blog";
    if($this->getLastUrl() == 'blog'){
        $data["result"] = $this->blog_model->getBlogs();
        $this->load->view("view_blog", $data);  
    }else{
        $blog_name = $this->getLastUrl();
        $data["result"] = $this->blog_model->getBlogDetails($blog_name);
        $data["comment"] = $this->blog_model->getBlogComments($blog_name);
        $this->load->view("view_blog_details", $data);
        //check for reply
        $url =$_SERVER['REQUEST_URI'];
        $getLast = explode("/", $url);
        $last = end($getLast);
        if($last == 'reply'){
            $this->load->library('form_validation');
            $this->form_validation->set_rules('name', 'Name', 
                'trim|required|min_length[4]|xss_clean');
            $this->form_validation->set_rules('message', 'Comment', 
                'trim|required|min_length[4]|xss_clean');
            $this->form_validation->set_rules('email', 'Email Address', 
                'trim|required|valid_email');

            if($this->form_validation->run() == FALSE)
            {
                $this->blog();
            }
            else
            {
                $msg = 'Message sent.';
                $this->blog_model->addBlogComment();
                $this->blog();
            }
        }

    }
}

My main function is to add new comment in a blog, it works but it inserts duplicate data and I cant get rid of the fatal error message.

addBlogComment Function


    function addBlogComment(){
    $data=array(
    'blog_id'=> $this->input->post('blog_id'),
    'name'  => $this->input->post('name'),
    'email' => $this->input->post('email'),
    'message' => $this->input->post('message'),
    'created'   => date('Y-m-d H:i:s')
    );

    $this->db->insert('comment',$data);
    }

Best Answer

I just found out the wrong loop in my code. The loop will has no exit and it will turns back all over again.

if($this->form_validation->run() == FALSE)
{
      $this->blog();
}
else
{
      $msg = 'Message sent.';
      $this->blog_model->addBlogComment();
      $this->blog();
}

it will always return a false value so it will execute and execute no end of loop.