PHP-Objekte, die im Speicher bleiben

8

Ich erinnere mich an das Lesen auf php.net (obwohl die Seite leider nicht gefunden werden kann), dass der PHP-Interpreter auf verschiedene Arten laufen kann - Meistens wird jedesmal, wenn eine Seite angefordert wird, eine Instanz des PHP-Interpreters erstellt, läuft ab und wird dann zerstört, zusammen mit dem gesamten Speicher, der diesem bestimmten Seitenaufruf zugeordnet ist. Offenbar ist es auch möglich, den gesamten Speicher verweilen zu lassen, damit er in zukünftigen Seitenaufrufen wieder verwendet werden kann; So wie ich es verstanden habe, erlaubt es im Prinzip mehreren verschiedenen PHP-Skripten, auf dieselben Objekte zuzugreifen und sie zu ändern, ohne sie zu verlieren, nachdem das Skript vollständig ist.

Oder zumindest, so erinnere ich mich. Ist das wahr? Wenn ja, wie würde ich es einrichten?

    
Monchoman45 19.04.2012, 21:10
quelle

3 Antworten

5

php funktioniert nicht so. es geht um rennen und vergessen.

Sie können Daten zwischen Anfragen speichern, indem Sie Userland Shared Memory Extensions verwenden, zum Beispiel: apc, xcache, memcached, etc.

oder durch Verwendung des Sitzungsdatenarrays nach dem Aufruf von session_start

  

$ _ SESSION

denke nicht an PHP-Skripte wie eine Java-Anwendung in z. Kater. Standard-PHP wurde nicht für diesen Anwendungsfall entwickelt. Der PHP-Compiler funktioniert on-the-fly.

    
Hajo 19.04.2012, 21:13
quelle
1

Sie können shared memory für einige Zwecke verwenden, aber Redis / Memcache sind wahrscheinlich bessere Wetten.

    
Femi 19.04.2012 21:15
quelle
0

Lassen Sie den Server zwischen den Anforderungen bleiben, ebenso wie Objekte:

  • appserver-in-php - Generische HTTP-Anwendungen für PHP5.3 + (inspiriert von Rack und WSGI)

Mit gut geschriebenen Anwendungen, die Ihnen mehr Geschwindigkeit als APC geben, jedoch nicht zwischen Benutzern skalieren, wenn Sie mehrere Kästchen anlegen müssen (Sie können weiterhin sticky-Sitzungen verwenden).

    
hakre 19.04.2012 21:15
quelle

Tags und Links