2010-08-13 12 views
5

Ich möchte eine Variable haben, die den gleichen Wert für alle verschiedenen Benutzer/Clients hat, die auf das System zugreifen.php Freigabe Variable zwischen verschiedenen Benutzern/Sitzungen

muss auch der Wert der Variablen änderbar sein.

Wenn ein Benutzer den Wert ändert, muss die Änderung auch für alle anderen Benutzer übernommen werden.

+0

Enthüllung dieser Variablen Zweck kann viel helfen –

Antwort

3

Verwenden Sie einfach eine Datenbanktabelle, um diesen Wert zu speichern.

Dies ist die einfachste Möglichkeit, persistente, anwendungsweite Daten in einer Webanwendung zu speichern.

6

Speichern Sie die Variable in einem gemeinsamen Raum wie

  • Eine Datei

  • Ein Datenbankeintrag (am einfachstenen Verriegelung für die Implementierung, siehe unten)

  • Einen memcache Eimer

können Sie es leicht dort ändern. Möglicherweise müssen Sie eine Art Sperrmechanismus verwenden, um zu verhindern, dass mehrere Benutzer gleichzeitig versuchen, den Wert zu bearbeiten, indem Sie race conditions eingeben.

+2

Ihre letzte Phrase ist tatsächlich sollte er eigentlich nichts anderes als eine Datenbank verwenden. Das ist ein gelöstes Problem dort. Die Methoden, die für die anderen Lösungen verfügbar sind, skalieren auch nicht überall. – Artefacto

+0

@Artefacto yup, wahr. Das Sperren von Dateien ist ein Schmerz. Möglicherweise möchte oder kann er jedoch keine Datenbank verwenden. –

+0

@Nikunj nein, das ist unmöglich mit nur PHP-Variablen. Sitzungsvariablen können nicht für mehrere Benutzer freigegeben werden. –

Verwandte Themen