2016-12-17 2 views
0

У меня возникла проблема, не знаю, это проблема с сервером или в моей кодировке. Проблема в том, что когда я вношу некоторые изменения (вставляю, обновляю, удаляю) в базу данных вместе с загрузкой изображений, я получаю сообщение об ошибке, так как [sitename] в настоящее время не может обработать этот запрос. Но если я делаю транзакции без загрузки изображений, все идет хорошо.В настоящее время сервер не может обработать этот запрос

Но есть и другое: из-за этого меня смущает то, что на моем сайте есть панель администратора, если я загружаю изображения и данные с пользовательского конца, каждая вещь работает, но если я загружу данные вместе с изображениями, вы получите сообщение об ошибке. Не знаю, где проблема. Либо это на стороне сервера, либо в моем коде.?

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

public function partner_register() { 

     $date = date('Y/m/d'); 
     $this -> form_validation -> set_rules('contact', 'person contact', 'required|xss_clean'); 
     $this -> form_validation -> set_rules('company', 'company name', 'required|xss_clean'); 
     $this -> form_validation -> set_rules('ph', 'phone', 'required|xss_clean'); 
     $this -> form_validation -> set_rules('email', 'email', 'required|valid_email|is_unique[partner.email]|max_length[100]|xss_clean'); 

     $contact = $this -> input -> post('contact'); 
     $email = $this -> input -> post('email'); 
     $phone = $this -> input -> post('ph'); 
     $name = $this -> input -> post('company'); 
     $brand = $this -> input -> post('brand'); 

     if($brand == null or empty($brand) or $brand == "") { 
      ?> <script> alert('Select atleast one brand'); 
         window.location = "<?php echo base_url('register'); ?>"; 
       </script> 
      <?php 
     } 

     else if ($this -> form_validation -> run() == FALSE) { 
      ?> <script> alert('Email already exists. Please try new email.'); 
         window.location = "<?php echo base_url(); ?>"; 
       </script> 
      <?php 
     } 
     else { 
      $info = $this -> Parts_Model -> partner_register([ 
       'contact' => $contact, 
       'email'  => $email, 
       'company' => $name, 
       'phone'  => $phone, 
       'reg_date'  => $date, 
      ]); 
      if($info) { 
       foreach($brand as $key => $value) { 
        $brands = $this -> Parts_Model -> partner_brands([ 
         'partner_id' => $info, 
         'brands' => $value, 
        ]); 
       } 
       if($brands) { 
        ?> <script> alert('Subscription successfull.'); window.location = "<?php echo base_url('register'); ?>"; </script> <?php 
       } 
      } 
      else { 
       ?> <script> alert('Subscription failed.'); window.location = "<?php echo base_url('register'); ?>"; </script> <?php 
      } 
     } 
    } 

И вот код, который используется на бэкэнд, оба почти одинаковы.

 public function add_ads() { 

     $this -> header_template(); 
     $this -> form_validation -> set_rules('link', 'ad link', 'required|xss_clean'); 
     $this -> form_validation -> set_rules('schedule', 'start date', 'required|xss_clean'); 
     $this -> form_validation -> set_rules('end_schedule', 'end date', 'required|xss_clean'); 

     $link = $this -> input -> post('link'); 
     $schedule = $this -> input -> post('schedule'); 
     $end_schedule = $this -> input -> post('end_schedule'); 

     $config['upload_path'] = 'ads/'; 
     $config['allowed_types'] = 'jpg|jpeg|png'; 
     $config['encrypt_name'] = true; 
     $this -> load -> library('upload', $config); 

     if($this -> form_validation -> run() == false) { 
      echo validation_errors(); 
     } 
     else { 
      if(!$this -> upload -> do_upload('ad')) { 
       ?> <script> alert('<?php echo $this -> upload -> display_errors(); ?>'); window.location = "<?php echo base_url('dashboard/ads'); ?>"; </script> <?php 
      } 
      else { 
       $data = $this -> upload -> data(); 
       if($data['file_name'] and $data['full_path']) { 
        $file_name = $data['file_name']; 
        $file_path = $config['upload_path'].$file_name; 
        $info = $this -> Dashboard_Model -> add_ads([ 
         'add_link'   => $link, 
         'schedule'   => $schedule, 
         'end_schedule'   => $end_schedule, 
         'ads'    => $file_path, 
        ]); 
        if($info) { 
        ?> 
         <script> alert('Added Successfully.'); window.location = "<?php echo base_url('dashboard/ads'); ?>"; </script> 
        <?php 
        } 
        else { 
         echo 'Error! While adding brands.'; 
        } 
       } 
      } 
     } 
    } 

А вот ошибка сервера

Server Error Image

А вот ошибки

Log Errors

+0

Похоже, что проблема с ограничением памяти и потребление памяти с помощью PHP больше, чем то, на что она выделена. Проверьте эту ссылку. http://stackoverflow.com/questions/19508313/memory-limit-1024m-still-cannot-allocate-memory-couldnt-create-child-proce. – Perumal

+0

какой тип дискового хранилища памяти или что? –

+0

Могу ли я проверить, в какой точке занимает много памяти –

ответ

0

на основе протокола ошибок журнала сервера, это выглядит как ваш ресурс сервера больше не может обрабатывать ваш запрос.

Если физической обработки для PHP недостаточно для обработки вашего сценария, то ваш веб-сервер не может порождать новый дочерний процесс, в результате чего возникает ошибка HTTP 500.

Здесь вы должны просмотреть свою физическую память, если используете физический сервер. Если вы работаете в виртуальной машине, попробуйте выделить больше памяти для виртуальной машины.

+0

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

+0

Я проверил использование своей памяти, и я показываю мне 0% использование доступных 1.4 ГБ, это означает, что нет проблемы с использованием памяти. –

+0

Это не ограничение памяти, выделенное вашей виртуальной машине. Это ограничение памяти, выделенное PHP. Сделайте одно. Чтобы узнать, сколько памяти выделено PHP, напишите 'echo ini_get ('memory_limit');' и проверьте, что напечатано на странице. Некоторые поставщики услуг веб-хостинга устанавливают ограничение памяти PHP ниже, чем фактическое значение «128M». В вашем случае ваш поставщик веб-хостинга мог бы установить его очень ниже, чем '128M'. Напишите код, упомянутый выше, и проверьте, сколько он выделил для использования памяти PHP. – Perumal

Смежные вопросы