CodeIgniter Неустранимая ошибка: допустимый объем памяти байтов

Я получаю это сообщение Fatal Error Message в своем кодеIgniter, я уже пробовал некоторые ответы, у которых есть тот же вопрос.

Я уже установил свой php.ini


     max_execution_time = 300
     max_input_time = 600
     memory_limit = 128M

Но все же я получаю одно и то же сообщение Fatal error, я не знаю, есть ли проблема в моем коде или в настройках php.

Вот некоторые мои коды в контроллере:

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(); } } } } 

Моя основная функция – добавить новый комментарий в блог, он работает, но он вставляет повторяющиеся данные, и я не могу избавиться от фатального сообщения об ошибке.

Функция addBlogComment


     function addBlogComment () {
     $ = Данные массива (
     'blog_id' => $ this-> input-> post ('blog_id'),
     'name' => $ this-> input-> post ('name'),
     'email' => $ this-> input-> post ('email'),
     'message' => $ this-> input-> post ('message'),
     'created' => date ('Ymd H: i: s')
     );

     $ This-> db-> вставить ( 'комментарий', $ данных);
     }

Я только что обнаружил неправильный цикл в моем коде. Цикл не будет иметь выхода, и он снова закроется.

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

он всегда будет возвращать ложное значение, чтобы он выполнял и не выполнял конца цикла.

Попробуйте создать свой контроллер следующим образом:

 public function blog( $blog_name = '', $action = '' ){ $this->load->model("blog_model"); // What if there is no blog name in the url if ( empty( $blog_name ) ) { // Load the list of blogs $data["result"] = $this->blog_model->getBlogs(); $this->load->view("view_blog", $data); } else { // If the blog name in url exists and there is no action display the blog if ( !empty( $blog_name ) && empty( $action ) ) { $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); } // else If there is the action "reply" check if there is some post else if ( $action == 'reply' && $this->input->post( 'Comment' ) ) { $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) { redirect( site_url( $blog_name ) ); } else { $msg = 'Message sent.'; $this->blog_model->addBlogComment(); // Redirect to prevent F5 submitting duplicate data redirect( site_url( $blog_name ) ); } } } }