PDA

Bekijk Volledige Versie : SuPHP vs mod_fcgid



Deimos
05/04/08, 22:39
Zoals elke hoster weet, is het draaien van PHP als apache module niet echt aan te raden, omdat in dit geval PHP draait onder het uid/gid van de server. Nu weet ik dat er diverse modules zijn die ervoor zorgen dat je per vhost kan bepalen onder welke uid/gid een proces moet draaien.

Op dit moment wordt er gebruik gemaakt van suphp en opzich voldoet dat prima. Zo is bijvoorbeeld apache HTTP_AUTH gewoon beschikbaar. Voor een nieuw cluster zijn we echter deze keuze aan het heroverwegen.

Na een eerste selectie is naast suphp de optie "suexec - fastcgi - mod_fcgid' overgebleven. Kwa performance lijkt dit sneller te werken dan suphp, doordat er voor elke user een instance van php in de background blijft draaien.
Hierdoor is het niet langer noodzakelijk om voor elke request een nieuwe PHP te initiƫren. Het opzetten is echter wat meer moeite en ook het onderhouden ervan zal (zo lijkt het) meer tijd / energie vergen.

Nu ben ik vooral benieuwd of er mensen zijn, die het afgelopen jaar voor eenzelfde keuze hebben gestaan. En voor welke oplossing er uiteindelijk is gekozen en waarom.

dreamhost_nl
06/04/08, 09:41
Het cPanel controle paneel werd jaar en dag opgeleverd met de optie op PHP in CGI modus te draaien via een (aangepaste) versie van PHPsuExec. Dat is sinds PHP5/cPanel11 gewijzigd naar suPHP. Wellicht kun je op het forum daar vragen wat de afwegingen waren om voor suPHP te kiezen t.o.v. van andere mogelijkheden?

Deimos
06/04/08, 14:48
Ik zal me eens verdiepen in het Cpanel systeem. Zijn er verder geen hosters die hier ervaring mee hebben of kiest men tegenwoordig echt allemaal voor de standaard 'meuk' van Plesk / DA etc.

Erik
06/04/08, 16:03
SuPHP is een mooie hack om PHP onder de user te draaien van het account van die user zonder al te veel te wijzigen aan je server config. fastcgi is echter een betere oplossing naar mijn mening (vanuit technisch oogpunt). Het schijnt ook sneller te zijn. Ik ben dan ook blij dat Plesk dit nu ondersteund.

Randy
06/04/08, 16:48
SuPHP is een mooie hack om PHP onder de user te draaien van het account van die user zonder al te veel te wijzigen aan je server config. fastcgi is echter een betere oplossing naar mijn mening (vanuit technisch oogpunt). Het schijnt ook sneller te zijn. Ik ben dan ook blij dat Plesk dit nu ondersteund.

FastCGI houdt een PHP-instance open. Daar zit het verschil net in. Voor iedere pageload hoeft PHP niet gestart en afgesloten te worden en daar zit hem ook de tijdwinst in. Een beetje extra geheugen kost niet veel, je disk i/o onlaag brengen en je cpu omhoog meer.
DirectAdmin installeerd PHP-CGI standaard in FastCGI modus dacht ik. Ikzelf gebruik FastCGI enkel op Windows-servers, dus kan geen toevoegingen doen. Onder linux gebruik ik nog netjes mod_suid/ruid.
Su_exec gebruik ik enkel onder Perl.

hrodenburg
06/04/08, 23:56
Ik heb niet echt een groot serverpark, maar gebruik nu al een (paar) jaar mod_ruid met tevredenheid. Het enige nadeel vind ik dat je apache moet hercompileren omdat je deze als root moet gaan draaien. Op deze manier kan ik dus niet meer de standaard debian archives gebruiken voor mijn apache package. Voorheen ook suphp gedraaid, maar dat had echt een enorme performance impact bij mij (in negatieve zin dus).
php in cgi heb ik nooit gebruikt. Ik deed mij nogal omslachtig en "error gevoelig" overkomen, maar dat kan natuurlijk aan mij liggen.

Erik
07/04/08, 00:00
..deed mij nogal omslachtig en "error gevoelig" overkomen, maar dat kan natuurlijk aan mij liggen.

Naar mijn ervaring is fastcgi erg stabiel. Het mooie is dat iedereen zijn eigen php.ini file kan hebben met fastcgi. Die kun je strak afstellen en vervolgens uitzonderingen maken per klant/site. Dus je hebt de voordelen van php als cgi, maar niet de nadelige performance die daar vaak bij komt kijken.

wonko
07/04/08, 08:53
fastcgi is zeker een goede en stabiele piste; wij gebruiken dat al enige tijd en zijn er zeer tevreden over.

davhog
07/04/08, 10:14
Ik gebruik zelf sinds kort mod_ruid op 1 server om wat mee uit te proberen.
Het grote voordeel vind ik dat je de user_homes 0700 rechten kunt geven omdat apache ook onder de user uid draait.

Deimos
08/04/08, 13:58
Bedankt voor de reacties, ik zal FastCGI met mod_fcgid eens nader gaan testen. Mod-ruid en soortgelijken ben ik niet weg van. En dan voornamelijk omdat het niet op BSD werkt. Wil graag een uniforme oplossing. Als er nog mensen zijn die tips / suggesties hebben mbt php als fastcgi hoor ik het graag.

Ben vooral ook benieuwd hoe mensen bijvoorbeeld de http auth problemen 'omzeilen' icm fastcgi.