Tamam, bu yüzden bir yük dengeli PHP web eşsiz bir senaryo bu tamamen nadir var. Serseri - bu yükü dengeli olması için kullanılan vermedi. Şimdi biz sorunları almaya başlıyoruz ...
Şu anda tek sorun PHP oturumları ile. PHP oturum yapılandırma kendi varsayılan bırakıldı yüzden doğal kimse ilk başta bu konuda düşündüm. Böylece hem sunucuların oturum dosyalarının kendi küçük zulası var, ve keder o ilki oluşturulan oturumu yok çünkü, diğer sunucuya atılan bir sonraki isteği alır kullanıcı.
Şimdi, ben bu durumu çözmek için nasıl PHP kitabını okuyordum. Orada session_set_save_handler()
in güzel işlevi bulundu. (Ve, tesadüfen, this topic SO) Neat. Ben web sitesinin tüm sayfaları bu işlevi çağırmak gerekecek hariç. Ve gelecek sayfaları geliştiricileri de her zaman onu aramak için hatırlamak gerekir. En iyi uygulamaları kodlama bir düzine ihlal muhtemelen söz değil, biraz beceriksiz hissediyor. Oturumları tüm sihirli bir DB veya bir hafıza önbellek falan saklanan olsun - Ben sadece bazı genel yapılandırma seçeneği ve Voilà çevirmek olabilir eğer çok daha hoş olurdu.
Any ideas on how to do this?
Added: To clarify - I expect this to be a standard situation with a standard solution. FYI - I have a MySQL DB available. Surely there must be some ready-to-use code out there that solves this? I can, of course, write my own session saving stuff and
auto_prepend
option pointed out by Greg seems promising - but that would feel like reinventing the wheel. :P
Added 2: The load balancing is DNS based. I'm not sure how this works, but I guess it should be something like this.
Added 3: OK, I see that one solution is to use
auto_prepend
option to insert a call to session_set_save_handler()
in every script and write my own DB persister, perhaps throwing in calls to memcached
for better performance. Fair enough.
Ben kendimi tüm bu kodlama önlemek olabilir bazı yolu da var mı? Bazı ünlü ve iyi test edilmiş PHP eklentisi gibi?