2011-04-01 61 views
1

我有一個可以在線接受訂單的CI應用程序。我將每個訂單鏈接到一個會話ID b/c任何人都可以訂購無記錄登錄。PHP CodeIgniter會話庫 - 長「sess_time_to_update」會發生什麼壞事?

當用戶點擊退房時,會話ID被髮送到PayPal ...在這種情況下,發送的會話ID回到我的付款信息。

有時PayPal IPN(即時付款通知)被延遲..長達24小時。 (是的,不是很「即時」)。在這種情況下,由於會話庫將其清除,會話變量已經消失(即,它們所訂購的數量是多少)。

在這種情況下,我沉沒了。所以我想擴大sess_time_to_update到3天...

這樣做是否有缺點?如果是這樣,什麼?

是否有解決方法,我可以實現呢?

回答

3

在將會話信息發送到PayPal之前,將會話信息存儲在數據庫中,然後當IPN命中時,讓它查看數據庫以檢索值。你永遠不應該使用會話來處理那些重要的事情和長期的事情。