Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Live server获取结果花费的时间太长_Php_Mysql_Codeigniter_Server_Vps - Fatal编程技术网

Php Live server获取结果花费的时间太长

Php Live server获取结果花费的时间太长,php,mysql,codeigniter,server,vps,Php,Mysql,Codeigniter,Server,Vps,从上个月开始工作,我尝试了很多从谷歌得到的解决方案,但没有得到任何帮助。代码在localhost上运行得既完美又快速。但不在实时服务器(VPS主机)上。请访问链接,看看它需要永远过滤14000个手机号码在DND和非DND号码。但在我的本地主机上,完成相同的过程只需要大约20秒。我不明白原因,也没有时间在这上面浪费更多。请尽快提供您的解决方案 PS:本网站使用GoDaddy VPS托管,内存为4GB 下面是代码 控制器(filter.php) 从远处看这辆车,我们无法告诉你发动机出了什么

从上个月开始工作,我尝试了很多从谷歌得到的解决方案,但没有得到任何帮助。代码在localhost上运行得既完美又快速。但不在实时服务器(VPS主机)上。请访问链接,看看它需要永远过滤14000个手机号码在DND和非DND号码。但在我的本地主机上,完成相同的过程只需要大约20秒。我不明白原因,也没有时间在这上面浪费更多。请尽快提供您的解决方案

PS:本网站使用GoDaddy VPS托管,内存为4GB

下面是代码

控制器(filter.php)



从远处看这辆车,我们无法告诉你发动机出了什么问题。提供一些代码和数据库模式。虽然您显然感到沮丧,但我认为不愿意在这方面“浪费”时间,并期望我们在这方面浪费时间是不合理的。主要的问题是你没有给出任何关于实际问题本身的细节。如果您不能花时间实际描述背景和问题,那么其他人将无法帮助您。请尝试为相同的问题创建存储过程。我可以帮你。live数据库上的数据比localhost数据库上的数据多吗?服务器上的数据库非常大。差不多有200000个电话号码。。给定的号码需要与数据库表中的手机号码匹配,并获取相应过滤的DND和NON-DND。。该网站在本地主机上运行良好。。但在实时服务器上,它正在产生问题。。VPS主机有问题吗??对于相同的工作,4GB内存是否更少?
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Filter extends MX_Controller
{

    function __construct()
    {
        parent::__construct();
        $this->load->model('Filter_model');
    }

    public function index()
    {
        $this->load->view('front_page');
    }

    public function numbers()
    {
        set_time_limit(2500);
        ini_set('memory_limit', '-1');

        //empty the existing table data first
        $tru = $this->Filter_model->empty_data();

        if (isset($tru))
            $mobile_number = $this->input->post('numbers');

        //adding comma after each mobile number
        if (strpos($mobile_number, "\r\n") !== false) {
            $mobile_number = str_replace("\r\n", ',', $mobile_number);
        } elseif (strpos($mobile_number, "\n\r") !== false) {
            $mobile_number = str_replace("\n\r", ',', $mobile_number);
        } elseif (strpos($mobile_number, "\n") !== false) {
            $mobile_number = str_replace("\n", ',', $mobile_number);
        }

        //convert comman seprate string to the array
        $mobile_number = explode(",", $mobile_number);

        $json_data['number'] = json_encode($mobile_number);

        $j_conv = str_replace(']', '', str_replace('"', '', str_replace('[', '', $json_data['number'])));

        $e_arr = explode(",", $j_conv);

        $res = $this->Filter_model->compare_numbers($e_arr);
        $res_nondnd = $this->Filter_model->compare_nondnd_numbers($e_arr);

        $array = json_decode(json_encode($res), True);
        $array_nondnd = json_decode(json_encode($res_nondnd), True);

        //array common words to remove
        $common_words = array("e_number]", "=", "n", "0[");

        //now convert the data into string again
        $url = preg_replace('/[a-z]/', '', str_replace($common_words, '', preg_replace('/&.....[a-z_=]/', ',', urldecode(http_build_query($array)))));

        //working here
        if (sizeof($mobile_number) <= 15000){
            $data['dnd_numbers'] = $array;
            $data['not_dnd_numbers'] = $array_nondnd;
            $this->load->view('filtered_numbers', $data);
        } else {
            $this->session->set_flashdata('error', 'Error... Please enter max 15000 numbers at one time');
            redirect('filter');
        }

    }
}
<?php

class Filter_model extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function empty_data(){
        return $this->db->truncate('srchlist');
    }
    public function compare_numbers($e_arr){
        $stmt = "('" . implode("'), ('", $e_arr) . "')";
        $ins_res = $this->db->query("INSERT INTO srchlist (number) VALUES $stmt" );
        $join_res = $this->db->query("SELECT mobile.phone_number FROM mobile INNER JOIN srchlist ON mobile.phone_number = srchlist.number");
        return $join_res->result();
    }
    public function compare_nondnd_numbers($e_arr){
        $join_nondnd_res = $this->db->query("SELECT number FROM `srchlist` F WHERE NOT EXISTS (SELECT phone_number FROM mobile S WHERE F.number = S.phone_number)
");
        return $join_nondnd_res->result();
    }
    public function check_dnd_number($phone_number) {
        $this->db->where('phone_number', $phone_number);
        $this->db->where('ops_type', 'A');
        //$this->db->or_where('ops_type', 'a');
        $query = $this->db->get('mobile');
        return $query->row('phone_number');
    }

    public function database_numbers() {
        $this->db->select('phone_number');
        $this->db->where('ops_type', 'A');
        $query = $this->db->get('mobile');
        return $query->result();
    }

    public function scrub_numbers() {
        $mobile_number = $this->input->post('numbers');
        if (strpos($mobile_number, "\r\n") !== false) {
            $mobile_number = str_replace("\r\n", ',', $mobile_number);
        } elseif (strpos($mobile_number, "\n\r") !== false) {
            $mobile_number = str_replace("\n\r", ',', $mobile_number);
        } elseif (strpos($mobile_number, "\n") !== false) {
            $mobile_number = str_replace("\n", ',', $mobile_number);
        }
        $pieces = explode(",", $mobile_number);
        if (!empty($pieces) && $pieces[0] != '')
            $pieces = array_map(function($v) {
                return strlen($v) >= 10 ? substr($v, -10) : $v;
            }, $pieces);
        $pieces = array_unique($pieces);
        $database = $this->database_numbers();
    }

}
<!DOCTYPE html>
<html lang="en">
    <?php $general = $this->Common_model->get_home(); ?>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="<?= $general->metadescription ?>">
        <meta name="keyword" content="<?= $general->metadescription ?>">
        <meta name="author" content="Jay Chandra || www.shubhtech.in">
        <title><?= $general->title ?></title>
        <!-- Bootstrap Core CSS -->
        <link href="<?= base_url() ?>assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
        <!-- Custom Fonts -->
        <link href="<?= base_url() ?>assets/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
        <link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
        <link href='https://fonts.googleapis.com/css?family=Merriweather:400,300,300italic,400italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'>
        <!-- Plugin CSS -->
        <link href="<?= base_url() ?>assets/vendor/magnific-popup/magnific-popup.css" rel="stylesheet">

        <!-- Theme CSS -->
        <link href="<?= base_url() ?>assets/css/creative.min.css" rel="stylesheet">

        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
            <script src="<?= base_url() ?>assets/https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="<?= base_url() ?>assets/https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->

    </head>

    <body id="page-top">

        <nav id="mainNav" class="navbar navbar-default navbar-fixed-top">
            <div class="container-fluid">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                        <span class="sr-only">Toggle navigation</span> Menu <i class="fa fa-bars"></i>
                    </button>
                    <a class="navbar-brand page-scroll" href="<?= base_url() ?>#page-top"><?= $general->sitename ?></a>
                </div>

                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav navbar-right">
                        <li>
                            <a class="page-scroll" href="<?= base_url() ?>#contact">Contact</a>
                        </li>
                    </ul>
                </div>
                <!-- /.navbar-collapse -->
            </div>
            <!-- /.container-fluid -->
        </nav>

        <header>
            <div class="header-content">
                <div class="header-content-inner">
                    <marquee direction="left" behavior="scroll" scrollamount="5" scrolldelay="100" onMouseOver="stop()" onMouseOut="start()">
                        <p><?= $general->marquee ?></p>
                    </marquee>
                    <p>To filter, You can enter multiple number by one number per line or one number by comma e.g: 8877665544, 9876543210.</p>
                    <div class="row">
                        <div class="col-lg-8 col-lg-offset-2">
                            <form method="post" action="<?= base_url() ?>filter/numbers/#result">
                                <div class="form-group">
                                    <textarea name="numbers" class="form-control" rows="10" autofocus=""></textarea>
                                    <p>(You can filter 15,000 mobile numbers at one time)</p>
                                </div>
                                <div class="form-group">
                                    <input type="submit" class="btn btn-lg btn-success" value="SCRUB IT"/>
                                </div>
                            </form>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-lg-12">Space for Ad</div>
                    </div>
                </div>
            </div>
        </header>

        <section id="contact">
            <div class="container">
                <div class="row">
                    <div class="col-lg-8 col-lg-offset-2 text-center">
                        <h2 class="section-heading">Let's Get In Touch!</h2>
                        <hr class="primary">

                    </div>
                    <div class="col-lg-4 col-lg-offset-2 text-center">
                        <i class="fa fa-phone fa-3x sr-contact"></i>
                        <p><?= $general->contact ?></p>
                    </div>
                    <div class="col-lg-4 text-center">
                        <i class="fa fa-envelope-o fa-3x sr-contact"></i>
                        <p><?= $general->email ?></p>
                    </div>
                </div>
            </div>
        </section>

        <!-- jQuery -->
        <script src="<?= base_url() ?>assets/vendor/jquery/jquery.min.js"></script>

        <!-- Bootstrap Core JavaScript -->
        <script src="<?= base_url() ?>assets/vendor/bootstrap/js/bootstrap.min.js"></script>

        <!-- Plugin JavaScript -->
        <script src="<?= base_url() ?>assets/https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
        <script src="<?= base_url() ?>assets/vendor/scrollreveal/scrollreveal.min.js"></script>
        <script src="<?= base_url() ?>assets/vendor/magnific-popup/jquery.magnific-popup.min.js"></script>

        <!-- Theme JavaScript -->
        <script src="<?= base_url() ?>assets/js/creative.min.js"></script>

    </body>

</html>
<!DOCTYPE html>
<html lang="en">
    <?php $general = $this->Common_model->get_home(); ?>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="<?= $general->metadescription ?>">
        <meta name="keyword" content="<?= $general->metadescription ?>">
        <meta name="author" content="Jay Chandra || www.shubhtech.in">
        <title><?= $general->title ?></title>
        <!-- Bootstrap Core CSS -->
        <link href="<?= base_url() ?>assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
        <!-- Custom Fonts -->
        <link href="<?= base_url() ?>assets/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
        <link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
        <link href='https://fonts.googleapis.com/css?family=Merriweather:400,300,300italic,400italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'>
        <!-- Plugin CSS -->
        <link href="<?= base_url() ?>assets/vendor/magnific-popup/magnific-popup.css" rel="stylesheet">

        <!-- Theme CSS -->
        <link href="<?= base_url() ?>assets/css/creative.min.css" rel="stylesheet">

        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
            <script src="<?= base_url() ?>assets/https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="<?= base_url() ?>assets/https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->

    </head>

    <body id="page-top">

        <nav id="mainNav" class="navbar navbar-default navbar-fixed-top">
            <div class="container-fluid">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                        <span class="sr-only">Toggle navigation</span> Menu <i class="fa fa-bars"></i>
                    </button>
                    <a class="navbar-brand page-scroll" href="<?= base_url() ?>#page-top"><?= $general->sitename ?></a>
                </div>

                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav navbar-right">
                        <li>
                            <a class="page-scroll" href="<?= base_url() ?>#contact">Contact</a>
                        </li>
                    </ul>
                </div>
                <!-- /.navbar-collapse -->
            </div>
            <!-- /.container-fluid -->
        </nav>

        <header>
            <div class="header-content">
                <div class="header-content-inner">

                    <marquee direction="left" behavior="scroll" scrollamount="5" scrolldelay="100" onMouseOver="stop()" onMouseOut="start()">
                        <p><?= $general->marquee ?></p>
                    </marquee>
                    <p>To filter, You can enter multiple number by one number per line or one number by comma e.g: 8877665544, 9876543210.</p>
                    <div class="row">
                        <div class="col-lg-8 col-lg-offset-2">
                            <form method="post" action="<?= base_url() ?>filter/numbers/#result">
                                <div class="form-group">
                                    <textarea name="numbers" class="form-control" rows="10" autofocus=""></textarea>
                                    <p>(You can filter 15,000 mobile numbers at one time)</p>
                                </div>
                                <div class="form-group">
                                    <input type="submit" class="btn btn-lg btn-success" value="SCRUB IT"/>
                                </div>
                            </form>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-lg-12">Space for Ad</div>
                    </div>
                </div>
            </div>
        </header>

        <section class="bg-primary" id="result">
            <div class="container">
                <div class="row">
                    <div class="col-lg-4 col-lg-offset-2 text-center">
                        <h2 class="section-heading">DND Numbers</h2>
                        <hr class="light">
                        <textarea class="form-control" rows="20"><?php
                            foreach ($dnd_numbers as $list) {
                                echo "$list[phone_number]\r\n";
                            }
                            ?></textarea>
                    </div>
                    <div class="col-lg-4 text-center">
                        <h2 class="section-heading">NON DND Numbers</h2>
                        <hr class="light">
                        <textarea class="form-control" rows="20"><?php
                            foreach ($not_dnd_numbers as $list) {
                                echo "$list[number]\r\n";
                            }
                            ?></textarea>
                    </div>
                </div>
            </div>
        </section>

        <section id="contact">
            <div class="container">
                <div class="row">
                    <div class="col-lg-8 col-lg-offset-2 text-center">
                        <h2 class="section-heading">Let's Get In Touch!</h2>
                        <hr class="primary">

                    </div>
                    <div class="col-lg-4 col-lg-offset-2 text-center">
                        <i class="fa fa-phone fa-3x sr-contact"></i>
                        <p><?= $general->contact ?></p>
                    </div>
                    <div class="col-lg-4 text-center">
                        <i class="fa fa-envelope-o fa-3x sr-contact"></i>
                        <p><?= $general->email ?></p>
                    </div>
                </div>
            </div>
        </section>

        <!-- jQuery -->
        <script src="<?= base_url() ?>assets/vendor/jquery/jquery.min.js"></script>

        <!-- Bootstrap Core JavaScript -->
        <script src="<?= base_url() ?>assets/vendor/bootstrap/js/bootstrap.min.js"></script>

        <!-- Plugin JavaScript -->
        <script src="<?= base_url() ?>assets/https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
        <script src="<?= base_url() ?>assets/vendor/scrollreveal/scrollreveal.min.js"></script>
        <script src="<?= base_url() ?>assets/vendor/magnific-popup/jquery.magnific-popup.min.js"></script>

        <!-- Theme JavaScript -->
        <script src="<?= base_url() ?>assets/js/creative.min.js"></script>

    </body>

</html>