簡體   English   中英

php cookie 和/或設置 cookie 問題

[英]php cookie and or set cookie issue

抱歉我的英語,我的網站上有一個未知問題:

我嘗試將購物車保存在 cookie 中:

保存前 cookie 的var_dump

代碼:

array (size=3)
'name' => string 'cart'
'value' => string '[{"id":"13991","id_prod":"18176","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"13983","id_prod":"18168","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"13987","id_prod":"18172","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"279543","id_prod":"29990","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"279554","id_prod":"30001","qty":1,"gravure":"","options_infos":[],"cadeau":0},{"id":"279539","id_prod":"29986","qty":1,"grav ure":"","options_infos":[],"cadeau":0},{"id'... (length=3301)
'expire' => int 2592000

這個 php 函數在我的頁面上被觸發以更新 cookie 購物車,當我的購物車上有大約 20 件商品時,這就是阻塞的原因

PHP代碼:

public function refreshCookie() {
$items = array();
if (parent::contents()) {
foreach (parent::contents() as $key => $value) {

$prod = new stdClass();

$prod->id = $value['id'];
$prod->id_prod = $value['id_prod'];
$prod->qty = $value['qty'];

if (isset($value['gravure'])){
$prod->gravure = $value['gravure'];
} 
if (isset($value['options_infos'])){
$prod->options_infos = $value['options_infos'];
}
$prod->cadeau = $value['cadeau'];
$items[] = $prod;
}
}

$cookie = array(
'name' => 'cart',
'value' => json_encode($items),
'expire' => $this->CI->config->item('cookie_panier_lifetime')
);
$this->CI->input->set_cookie($cookie);
} 

如果我刪除set_cookie行( $this->CI->input->set_cookie($cookie); ),這在我的本地機器上運行良好,但當我有 20 個以上的項目時無法在線工作,還請注意,如果我使用php setcookie它是一樣的,所以它不是一個真正的 codeigniter 問題:/

我不明白,任何幫助將不勝感激問候

cookie 的大小可能是問題所在。

這個答案

限制請求行
該指令設置 HTTP 請求行上允許的字節數。 LimitRequestLine 指令允許服務器管理員減少或增加對客戶端 HTTP 請求行允許大小的限制。 由於請求行由 HTTP 方法、URI 和協議版本組成,因此 LimitRequestLine 指令對服務器上的請求所允許的請求 URI 的長度進行了限制。 服務器需要此值足夠大以保存其任何資源名稱,包括可能在 GET 請求的查詢部分中傳遞的任何信息。
該指令使服務器管理員可以更好地控制異常客戶端請求行為,這可能有助於避免某些形式的拒絕服務攻擊。

聯系服務提供商可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM