服务器当前无法处理此请求

时间:2016-12-17 12:09:44

标签: php codeigniter

我遇到了问题,不知道这是服务器问题还是我的编码问题。问题是,当我在数据库中进行一些更改(插入,更新,删除)以及上传图像时,我得到一个错误,说[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

1 个答案:

答案 0 :(得分:0)

根据错误日志,您的服务器资源似乎无法处理您的请求。

如果PHP的物理内存不足以处理您的脚本,那么您的Web服务器就无法生成新的子进程,从而遇到HTTP 500错误。

在这里,如果您正在使用物理服务器,则需要查看物理内存。如果您在VM中运行,请尝试为VM分配更多内存。