PHP 5.3.0 und PHP-FPM

Bash, Shell, PHP, Python, Perl, CGI
twisterchen
Anbieter
Posts: 233
Joined: 2005-07-14 14:13

PHP 5.3.0 und PHP-FPM

Post by twisterchen » 2009-10-02 14:01

Hallo zusammen

Ich habe mich nun mal mit einem Update auf PHP 5.3.0 beschäftigt und mich mal so durch das Inet gelesen wobei mir eins immernoch unklar erscheint PHP-FPM.
Verstehe ich das richtig, dass PHP-FPM eigentlich sowas ist wie suPHP oder so ähnlich damit man die PHP Processe unter einem bestimmten User laufen lassen kann.
Mir gehts hier nur ums Verständniss denn mein suPHP läuft einsame spitze hatte damit noch nie Probleme.

Vielen Dank
Twister

User avatar
Joe User
Project Manager
Project Manager
Posts: 11602
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP 5.3.0 und PHP-FPM

Post by Joe User » 2009-10-02 14:16

PHP-FPM ist eine FastCGI-Implementierung für PHP, welche es erlaubt, PHP-FastCGI-Prozesse ohne Krücken wie Wrapperscripte oder spawn-fcgi zu starten/stoppen. Die Möglichkeit der Rechtetrennung kommt als designtechnisch unvermeidliches Feature gleich mit.

So sollte FastCGI eigentlich in PHP selbst realisiert sein...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

twisterchen
Anbieter
Posts: 233
Joined: 2005-07-14 14:13

Re: PHP 5.3.0 und PHP-FPM

Post by twisterchen » 2009-10-02 14:26

hmm das währe ja nicht schlecht somit könnte ich auf suPHP ja dann verzichten, nur wenn ich mich auf http://php-fpm.org/Documentation etwas umschaue sieht das ganze etwas spährlich aus.
Kennt ihr vielleicht noch andere Links die Informationen zu Benutzung von PHP FPM liefern.

Vielen Dank
Twister

User avatar
Joe User
Project Manager
Project Manager
Posts: 11602
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP 5.3.0 und PHP-FPM

Post by Joe User » 2009-10-02 14:31

Viel Doku braucht man da nicht: Lighttpd oder nginx als Webserver, PHP-FPM und ein Startscript pro PHP-FPM-Instanz (User), fertig.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

twisterchen
Anbieter
Posts: 233
Joined: 2005-07-14 14:13

Re: PHP 5.3.0 und PHP-FPM

Post by twisterchen » 2009-10-02 14:42

Versteh ich das richtig, dass PHP FPM auf einem einem normalen Apache server gar nicht funktioniert sondern nur auf einem Lighttpd oder nginx ?

Viel Doku braucht man da nicht: Lighttpd oder nginx als Webserver, PHP-FPM und ein Startscript pro PHP-FPM-Instanz (User), fertig.

hmm ich glaub ich schon, den wie soll ich mir ohne Dokumentation ein solches Startscript pro PHP-FPM Instanz erstellen, geschweige wie sieht die php.ini struktur aus, wo kann ich die einzelnen php.inis ablegen für den jeweiligen host. Ich habe zwar gelesen, das man in 5.3.0 in der php.ini bestimmte sektionen auf einen host binden kann. In suphp konnte ich angeben in welchem Verzeichnis sich die php.ini befindet.

Vielen Dank
Twister

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: PHP 5.3.0 und PHP-FPM

Post by Roger Wilco » 2009-10-02 15:22

Twisterchen wrote:Versteh ich das richtig, dass PHP FPM auf einem einem normalen Apache server gar nicht funktioniert sondern nur auf einem Lighttpd oder nginx ?

Nein. PHP-FPM funktioniert mit jedem Webserver, der das FastCGI-Protokoll vollständig unterstützt. Im Falle des Apache httpd also mit mod_fastcgi (nicht mod_fcgid!) oder mod_proxy_fcgi.

twisterchen
Anbieter
Posts: 233
Joined: 2005-07-14 14:13

Re: PHP 5.3.0 und PHP-FPM

Post by twisterchen » 2009-10-02 15:38

Roger Wilco wrote:Im Falle des Apache httpd also mit mod_fastcgi (nicht mod_fcgid!) oder mod_proxy_fcgi.

Ich benutze kein mod_ ich habe mein PHP selbst gebaut da ich ja suPHP benutze.

Ich lese so oft RFM , könnt ihr mich nicht dazu verdonnern ? :-D nur wo finde ich das RFM Jungs ich will doch was dazu lernen.
Ein komplett Umstieg auf PHP 5.3.0 ist sowieso noch nicht möglich da die meisten Shops und CMS ja sowieso noch net 5.xx conform sind.
Darum wollte ich mich dazu einfach mal einlesen.
Es muss doch Irgend wo ne Doku dazu geben


Vielen Dank
Twister

User avatar
Joe User
Project Manager
Project Manager
Posts: 11602
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP 5.3.0 und PHP-FPM

Post by Joe User » 2009-10-02 17:33

mod_fastcgi / mod_proxy_fcgi sind Apache-Module und haben mit mod_php nix zu tun. Stelle Dir mod_fastcgi ganz grob wie mod_suphp vor, nur performanter und variabler. Doku zu mod_fastcgi findest Du mehr als ausreichend per Google und Startskripte schreibst Du wie jedes andere Init-Script auch, im Zweifelsfall die entsprechende Doku Deiner Distribution lesen. Einige Distributionen liefern PHP-FPM mitlerweile fertig aus, schonmal in Deinem Paketmanagment danach gesucht (dann bräuchstest Du nur noch das mitgelieferte Init-Script Deiner Disribution entsprechend oft kopieren, anpassen und einbinden)?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

twisterchen
Anbieter
Posts: 233
Joined: 2005-07-14 14:13

Re: PHP 5.3.0 und PHP-FPM

Post by twisterchen » 2009-10-02 18:25

ich habe mich halt mit mod_fastcgi noch nie beschäftigt weil ich einfach super zufrieden war mit php und suphp aber wie du es jetzt erklährt hast versteh ich das jetzt schon das ist kein problem.
Bei mod_fastcgi sieht der script aufruf von php als cgi bestimmt ähnlich aus denk ich mal. Aber PHP-FPM ist doch nur ein Patch für PHP 5.3.0 das hat doch mit mod_fastcgi oder mod_suphp nichts zu tun oder steh ich wirklich jetzt so auf dem schlauch.
Das heist für mich ich muss doch für http://php-fpm.org/What_is_PHP-FPM irgend welche einstellungen machen können.

Egal ob suphp oder mod_fastcgi ich kann bei beiden für jeden host eigene php.inis erstellen und php für jeden host eigens aufrufen mit einem bestimmten user richtig ?

Wo liegt den nun deer Vorteil bzw was bringt mir PHP FPM ?

Vielen Dank und sorry für meine Nerverrei
Twister

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: PHP 5.3.0 und PHP-FPM

Post by Roger Wilco » 2009-10-02 20:56

FPM == FastCGI Process Manager

Was bringt dir ein Prozess-Manager bei SuPHP? Dabei wird pro Request ein Prozess erstellt und nach dem Request wieder gekillt. Es gibt also nichts, was verwaltet werden müsste. Das ist auch der Grund, weshalb ein Setup mit SuPHP im Vergleich zu PHP mittels FastCGI langsamer ist.

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: PHP 5.3.0 und PHP-FPM

Post by daemotron » 2009-10-02 21:59

Also, du wolltest RTFM, hier kommt es (aber erst ein paar Erklärungen vorab): mod_fastcgi und mod_fcgid sind Apache-Module, die den Webserver in die Lage versetzen, mit FastCGI-Prozessen zu kommunizieren. Am anderen Ende muss natürlich ein FastCGI-fähiger Prozess lauschen (die Verbindung kann dabei über TCP oder über Unix-Sockets laufen; unter Linux wird überlicherweise letzteres genutzt). PHP kann seit geraumer Zeit so kompiliert werden, dass es FastCGI-fähig ist. Problem: Diese Implementierung ist nicht besonders elegant, man muss mit Wrapper-Skripten bestimmte Umgebungsvariablen setzen und den PHP-Prozess über ein Tool wie z. B. spawn-fcgi starten, wenn man einen bestimmten User/group-Kontext erzwingen will (spawn-fcgi wechselt dabei den User-Kontext und startet anschließend den PHP-FastCGI-Prozess, der dann von seinem Elternprozess die Eigenschaften User, Gruppe etc. erbt). PHP-FPM versucht damit aufzuräumen, so dass der PHP-FastCGI-Prozess selbst in der Lage ist, den User-Kontext zu ändern und man nicht noch irgendeine Krücke dazwischen klemmen muss.

Wenn Dich das näher interessiert, dann kannst Du (und hier sind wir wieder beim RTFM) hier nachlesen, wie man FastCGI-Prozesse implementiert: http://www.pronix.de/pronix-953.html
Ist ganz nett, das mal auszuprobieren - sorgt auf jeden Fall für ein besseres Verständnis, was da so im Hintergrund alles abläuft.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

twisterchen
Anbieter
Posts: 233
Joined: 2005-07-14 14:13

Re: PHP 5.3.0 und PHP-FPM

Post by twisterchen » 2009-10-03 10:46

Vielen Dank

ich werde das mal Studieren, denn wie gesagt ich will darüber erst bescheid wissen bevor ich mich hier direkt ans update mache solange ich noch nicht weiss wie das funktioniert bleib ich bei meinem suphp das läuft und läuft und läuft.


Gruss
Twister