Apache und PHP - Thread Safety

haschi

Registered User
Hallo!

Stehe leider total auf dem Schlauch. Ich muss ein Referat über den Apache halten und dabei stößt mir jedesmal das Thema PHP auf, hinsichtlich der Thread Safety.

Installiert man im Debian den Apache2 wird grundsätzlich der Worker installiert. Installiert man danach php5 wird der worker durch den prefork ersetzt, da jetzt jetzt wer nicht Thread Safe ist?

War eigentlich der Meinung, dass ich es verstanden habe, aber nachdem ich einen kleinen Bericht gelesen hatte, wo geschrieben wurde, das der worker nicht Thread Safe ist, war ich komplett wieder verwirrt....

Kann mir vielleicht jemand in seinen eigenen Worten erläutern, was genau jetzt nicht Thread Safe ist und wieso der prefork mit mod_php genutzt werden muss und der worker nicht genutzt werden kann? Ich verzweifel daran noch.. :(

Würde mich sehr über eine Antwort freuen!

Viele Grüße
Marco
 
PHP sei nicht thread safe, wobei ich mod_php mit worker schon genutzt hab und auf keine Probleme gestoßen bin..
 
Hi

Warum sollte ich Apache2 mit threaded MPM nicht in einer Produktionsumgebung verwenden?

PHP ist Klebstoff. Es ist der Klebstoff, der verwendet wird, um coole Web-Anwendungen zu erstellen indem er dutzende von Bibliotheken von Drittanbietern zusammenklebt und sie über eine intuitiv und einfach erlernbare Schnittstelle als zusammenhängende Einheit erscheinen lässt. Die Flexibilität und die Mächtigkeit von PHP sind auf die Stabilität und Robustheit der zugrunde liegenden Plattform angewiesen. Es braucht ein funktionierendes Betriebssystem, einen funktionierenden Webserver und funktionierende Bibliotheken Dritter, um zusammen zu kleben. Wenn eines davon nicht mehr funktioniert, braucht PHP Wege, um die Probleme erkennen und schnell beheben zu können. Wenn Sie das zugrunde liegende Gerüst dadurch komplexer machen, dass Sie keine völlig voneinander getrennten Ausführungsthreads und Speichersegmente und keine starke Sandbox für jede einzelne Anfrage haben, lassen Sie weitere Schwachstellen ins System von PHP einfließen.

Falls Sie das Gefühl haben, threaded MPM benutzen zu müssen, sollten Sie nach einer FastCGI-Konfiguration schauen, in der PHP in seinem eigenen Speicherbereich läuft.

Und schließlich: diese Warnung gegen die Verwendung von threaded MPM gilt nicht so stark für Windows-Systeme, weil die Bibliotheken auf dieser Plattform tendenziell threadsicher sind.

http://www.php.net/manual/de/faq.installation.php#faq.installation.apache2


LG
 
PHP Manual said:
Es ist der Klebstoff ... sie über eine intuitiv und einfach erlernbare Schnittstelle als zusammenhängende Einheit erscheinen lässt.

[OT]Das ist der grösste Müll, den ich in Verbindung mit PHP jemals gelesen habe. Und das es von den Machern selbst kommt, macht es nur noch schlimmer. Die jahrzehntelang verkorkste PHP-API ist weder intuitiv noch einfach. Und mit "Mächtigkeit" sollte auch niemand kommen.[/OT]
 
Was unterscheidet einen Thread von einem Prozess.... Kurz gesagt, hoffentlich auch richtig ;), ist ein Thread ein Teil von einem Prozess. Ein Prozess kann mehrere Threads haben. Die Threads teilen sich die Ressourcen vom Prozess. Korrekt?
 
Ja das passt schon ganz gut. Aber wenn Du "Ressource" schreibst klingt das wie die lustige Internet-Wolke, die wie PHP-Klebstoff zwischen der Firewall und dem Client hängt - sehr nebulös.
Threads teilen sich untereinander einen gemeinsamen Speicherbereich und wenn ein Bibliothek globale Variablen verwendet und diese nicht vor paralleler Verwendung/Änderung schützt, kann dies zu unvorhergesehenen Ergebnissen führen.
Das ist jetzt etwas grob ausgedrückt aber vielleicht ein Ansatz zum weiterlesen.
 
Hi!

Danke für deine Antwort und Hilfe :) Konnte heute morgen wunderbar meinen Vortrag halten und es auch so vermitteln, dass es jeder verstanden hat und der Lehrer es abgenickt hat. :) Mir ist zwar zwischendurch das Wörtchen Ressource rausgerutscht, hat aber niemand wahr genommen ;)
 
Ne, Informatik nicht, aber Schwer im Bereich Computersystemtechnik. Mach grad eine Weiterbildung zum Techniker und da muss man irgendwie immer Referate halten...
 
Back
Top