Birden çok sunucu üzerinden dağıtılan uygulamalar, farklı bir alt üzerinde çalışmaya _SESSION yapılandırma

5 Cevap php

Ben 2 uygulamalardan oluşan bir web sitesi var:

  1. Ön uç uygulama
  2. Backend uygulama

Arka uç iş subdomain sahipken ön uç, www etki alanına sahiptir. Örneğin, benim ön uç uygulama alanı www.example.com/* var, benim arka uç ise job.example.com/* gibi. My front end application can locate on one server, whereas the back end can locate on another server. Ya da her ikisi de aynı sunucuda saklanır.

Soru şimdi ben süper global _SESSION (PHP) depolanan oturum değişkenleri farklı alt etki alanı genelinde çalışabilir olup olmadığıdır. I-_Sesssion["SessionKimlik"] ayarlanırsa www.example.com/*, I aynı _Sesssion ["Sessionıd"] alabilir job.example.com/*? Ben çalışmak için özel yapılandırma yapmak gerekiyor?

5 Cevap

Birden çok etki / sunucularda aynı oturumları kullanmak için, iki açıdan bakmak gerekir:

  • Her iki etki / sunucuları erişmek ve böylece oturum verilerinin nerede depolandığını
  • oturum kimliği böylece hem domains / sunucular boyunca yapılır nasıl.

Storage
For different servers you could write your own session save handler that both servers can use. This could for example be a database that both have access to.

Session ID sharing
If you want to share a session ID for multiple domains (might be on the same server or different) and want to use cookies to transport the session ID, you have to modify the session ID cookie settings so that the cookie is valid for both domains. But this is only possible if both domains share the same higher level domain. For www.example.com and jobs.example.com that share example.com, the $domain parameter for session_set_cookie_params() has to be set to .example.com.

Eğer o veritabanına erişimi olan herhangi bir sunucudan erişebileceğiniz bir veritabanına oturum verileri kaydeder kendi oturum işleyicisi yazabilirsiniz.

Kendi oturum işleyicisi yazın: http://de.php.net/manual/en/function.session-set-save-handler.php

Merkezi bir veritabanı veya bir memcache sunucusu kullanın.

Subdomain sadece www navigasyon tarafından session id tutmak için (domainwide gibi) doğru ayarlanmış olması gerekir çerez, etkileyebilir. * Işleri. *.

Eğer bir memcache sunucusu kullanmak ve php_memcache session handler kullanabilirsiniz Persistance oturum için. Kendi oturum işleyicisi yazmak gerekmez.