2011-05-27 111 views
6

以下代码从我的控制器运行,并在一台服务器上导致502错误错误网关。我一直无法在我的服务器上重现。什么是502坏门户的一些原因?错误502使用CodeIgnitor时出现错误的网关

function index() 
{ 
    $this->_reload(); 
} 

function _reload($data=array()) 
{ 
    $person_info = $this->Employee->get_logged_in_employee_info(); 
    $data['cart']=$this->sale_lib->get_cart(); 
    $data['modes']=array('sale'=>$this->lang->line('sales_sale'),'return'=>$this->lang->line('sales_return')); 
    $data['mode']=$this->sale_lib->get_mode(); 
    $data['items_in_cart'] = $this->sale_lib->get_items_in_cart(); 
    $data['subtotal']=$this->sale_lib->get_subtotal(); 
    $data['taxes']=$this->sale_lib->get_taxes(); 
    $data['total']=$this->sale_lib->get_total(); 
    $data['items_module_allowed'] = $this->Employee->has_permission('items', $person_info->person_id); 
    $data['comment'] = $this->sale_lib->get_comment(); 
    $data['email_receipt'] = $this->sale_lib->get_email_receipt(); 
    $data['payments_total']=$this->sale_lib->get_payments_total(); 
    $data['amount_due']=$this->sale_lib->get_amount_due(); 
    $data['payments']=$this->sale_lib->get_payments(); 
    $data['payment_options']=array(
     $this->lang->line('sales_cash') => $this->lang->line('sales_cash'), 
     $this->lang->line('sales_check') => $this->lang->line('sales_check'), 
     $this->lang->line('sales_giftcard') => $this->lang->line('sales_giftcard'), 
     $this->lang->line('sales_debit') => $this->lang->line('sales_debit'), 
     $this->lang->line('sales_credit') => $this->lang->line('sales_credit') 
    ); 

    $customer_id=$this->sale_lib->get_customer(); 
    if($customer_id!=-1) 
    { 
     $info=$this->Customer->get_info($customer_id); 
     $data['customer']=$info->first_name.' '.$info->last_name; 
     $data['customer_email']=$info->email; 
    } 
    $data['payments_cover_total'] = $this->_payments_cover_total(); 
    $this->load->view("sales/register",$data); 
} 
+0

什么版本的CI? – 2011-05-28 00:14:33

+0

1.7.3在NGNIX服务器上 – 2011-05-28 01:08:01

+0

如果我可以发生任何错误,例如在会话发生之前发送输出,它实际上会使页面工作(带有错误信息)。一些奇怪的事情正在发生。 – 2011-05-28 01:14:01

回答

4

这似乎是setCookie方法被调用过多是导致502错误。我不确定NGNIX是否是一个限制,但是这解决了问题。

+0

我也是我的问题,我没有注意到我的cookie保存行是在一个循环中,谢谢! – NaturalBornCamper 2014-05-13 23:50:29

2

这是一个NGINX/CI的问题,如果您不能更改设置,然后更改会话您使用的数据库为我工作

$config['sess_use_database'] = TRUE; 
+0

我正在使用数据库支持的会话。我不认为这应该解决它... – 2014-11-10 18:24:34

+0

谢谢迈克尔。这解决了它。 – Sasho 2016-10-28 11:11:24