CodeIgnitor neden veritabanında birden fazla seans oluşturuyor?

5 Cevap php

Ive sayfasını yük olarak (Ben her ajax arama için varsayarak) sayfa yük bir kaç ajax çağrıları, artık nedense, CodeIgnitor 4 seans ekleme olduğunu yapan bir site var. Ben veritabanında oturumları saklamak ediyorum.

Ben sadece tarayıcıda başına bir oturum olmalı eminim? FF yalnızca birini üretmek gibi görünüyor, diğer tarayıcılar oturumları bir sürü oluşturmak gibi görünmektedir.

Aynı kullanıcı için birden fazla seans bana bazı ciddi kimlik sorunları veriyoruz.

herhangi bir fikir?

5 Cevap

Merhaba çocuklar,

I know the discussion took place while ago, but somebody might find this useful. By now I've used CI session without storing its data in database. Today I decided to give it a try and immediately run across the same problem: CI was generating new session in every page load.

I checked my server time, timezone, my cookie etc. - everything I could find as a tip on forums - with no result. Then decided to debug the CI Session class myself. Long story short, it turned out that my user_agent field in my session table was too small - VARCHAR 50 - which cuts the original user_agent string - hence CI doesn't find my session and generates onother one. I just increased the user_agent field size to 200 and everything works like a charm.

Ben Mac OS X Lion kullanmak olduğunu söylemeyi unutmuşum.

Yine, bu birilerine yardımcı olacağını umuyoruz.

Ben aynı sorunu ile bu konuyu buldum: her sayfada CI yeni bir oturum oluşturur. Olası çözüm: underscored site adı kaldırmak (NOT "my_test_site.com", ama "benim-test-site.com"). En azından, bu benim durum oldu.

Config.php dosyasını kontrol ve çerez seçenekleri düzgün dolduran emin olun. Değilse o kullanıcıyı takip edemez ve o olacak gen her sayfa yük, yeni bir oturum.

Istemci işletim sistemi üzerinde tarih / zaman kontrol, ve sunucu üzerinde.

Ben de geç olduğunu biliyorum, ama cevap ararken belki birisi bu sayfayı bulur ...

Ben CI session id içeren çerez sona erme zamanını ayarlar ve sunucu ve istemci arasındaki zaman farkı erme süresinden daha yüksek ise çerez eski alır ve sunucu her üzerindeki müşteri için yeni bir oturum üretecektir çünkü olur düşünüyorum isteği. Tam mekanizmasını anlamaya zaman aldı, ama bana birkaç kez oldu ve bu düzeltme her zaman çalıştı hiçbir zaman.

Istemci işletim sistemi üzerinde tarih / zaman kontrol, ve sunucu üzerinde.

Ben aynı durum vardı ve bir düzeltme olarak çözümü onaylamak