Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 代码点火器+;Chrome错误(错误\响应\标题\太大)。如何解决?_Php_Codeigniter_Google Chrome - Fatal编程技术网

Php 代码点火器+;Chrome错误(错误\响应\标题\太大)。如何解决?

Php 代码点火器+;Chrome错误(错误\响应\标题\太大)。如何解决?,php,codeigniter,google-chrome,Php,Codeigniter,Google Chrome,我使用CodeIgniter 1.7开发的web应用程序在仅使用Chrome浏览器打开时出现错误ERR\u RESPONSE\u HEADERS\u TOO\u BIG。我尝试了所有其他浏览器,错误不会发生 刷新错误页面后,我可以正常打开页面。我试着从谷歌搜索,从2009年到现在,这个错误似乎发生在Chrome用户身上 这是我的控制器代码: function search_daily_sales_summary_view() { if(!($this->session->us

我使用CodeIgniter 1.7开发的web应用程序在仅使用Chrome浏览器打开时出现错误ERR\u RESPONSE\u HEADERS\u TOO\u BIG。我尝试了所有其他浏览器,错误不会发生

刷新错误页面后,我可以正常打开页面。我试着从谷歌搜索,从2009年到现在,这个错误似乎发生在Chrome用户身上

这是我的控制器代码:

function search_daily_sales_summary_view()
{
    if(!($this->session->userdata('DAILY_SALES_SUMMARY'))){
        $this->session->set_flashdata('error', 'You dont have the permission to access that page.');
        redirect('login/home');
    }

    $this->load->model('currency_model');
    $this->load->model('bill_model');

    $data = array();

    $report = array();

    if($query = $this->currency_model->list_currency())
    {
        foreach ($query as $row) {

        $currencyid = $row->CURRENCY_ID;
        $currencycode = $row->CURRENCY_CODE;

        if($buyData = $this->bill_model->calculate_buy($currencyid))
        {
            $totalbuy = $buyData->total_from_amount;
            $totalbuy_rate = $buyData->rate;

            if($buyData->total_from_amount=='')
            {
                $totalbuy = 0.00;
            }

            if($buyData->rate=='')
            {
                $totalbuy_rate = 0.00;
            }
        }
        else
        {
            $totalbuy = 0.00;
            $totalbuy_rate = 0.00;
        }

        if($sellData = $this->bill_model->calculate_sell($currencyid))
        {
            $totalsell = $sellData->total_from_amount;
            $totalsell_rate = $sellData->rate;

            if($sellData->total_from_amount=='')
            {
                $totalsell = 0.00;
            }

            if($sellData->rate=='')
            {
                $totalsell_rate = 0.00;
            }

        }
        else
        {
            $totalsell = 0.00;
            $totalsell_rate = 0.00;
        }

        $report[] = array("currency"=>$currencycode, "buy"=>$totalbuy, "buyrate"=>$totalbuy_rate, "sell"=>$totalsell, "sellrate"=>$totalsell_rate);

        }

        $data['records'] = $report;

    }

    $this->load->model('company_model');
    if($query = $this->company_model->list_company())
    {
        $data['company_list'] = $query;
    }

    $this->load->model('branch_model');
    if($this->input->post('company'))
    {
        $companyid = $this->input->post('company');

        if($query = $this->branch_model->view_company_branch($companyid))
        {
            $data['branch_list'] = $query;
        }
    }
    else
    {
        if($query = $this->branch_model->list_branch())
        {
            $data['branch_list'] = $query;
        }
    }

    $this->load->view('report/daily_sales_summary', $data);

}

如何解决此问题?

CI将会话存储在cookie中。如果在cookie中存储太多,则会出现错误


将CodeIgniter设置为使用DB会话,或者将其保存到文件中。

将会话数据保存到数据库中

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(16) DEFAULT '0' NOT NULL,
    user_agent varchar(120) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);
注意:默认情况下,该表名为ci_sessions,但您可以将其命名 只要您更新 application/config/config.php文件,以使其包含您需要的名称 我选择了。创建数据库表后,可以启用 config.php文件中的数据库选项如下所示:

一旦启用,会话类将在数据库中存储会话数据

确保在配置文件中也指定了表名:

$config['sess_table_name'] = 'ci_sessions';

注意:Session类具有内置的垃圾收集功能,可以清除过期的会话,因此您不需要编写自己的例程来完成此操作。

这是一个有趣的功能。你有没有试着看一下标题,看看为什么(或者是否)它们这么大?使用curl很容易:
curl-Ihttp://you_url_here/
我使用代码,这里是我得到的输出:注意,即使没有数据(意味着我搜索不存在的数据),错误仍然会发生。哦,这是一个重定向。我们必须让curl跟随重定向。使用
-L
选项重试:
curl-I-Lhttp://your_url_here/
好的,我按照您的说明操作,下面是输出:看起来curl被重定向到登录页面(因为它没有登录)。您可以尝试使用Firebug或Web Inspector查看标题。一些Chrome bug报告表明,这是试图在CodeIgniter会话中存储大型对象的结果。您应该考虑使用CI会话的目的,以及是否应该将这些数据存储在模型中。
$config['sess_table_name'] = 'ci_sessions';