Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Apache, Lighttpd, nginx, Cherokee
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

Hat hier schon jemand eine Lösung für das Problem:

Code: Select all

FastCGI: incomplete headers (0 bytes) received from server
gefunden?
Es tritt nicht regelmäßig auf, aber wenn doch, hilft nur noch den apache komplett neuzustarten.
Wenn Skripte ziemlich lange benötigen kann man das ganze sogar reproduzieren, was natürlich nicht gerade fein ist :(
Verwende die aktuellste php-5.1.2 Version
Anonymous
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by Anonymous »

Ich frage mich, ob es was bringt, wenn man den PHP Prozess nicht vom Apache starten läßt sonden man einen eigenen Server startet, mit dem sich der Apache dann verbinden tut.
Anonymous
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by Anonymous »

Hallo!

Also ich habe jetzt FCGID als Daemon laufen. Das geht mit dem Debian Paket ziemlich gut und ist auch die empfohlene Methode.

Code: Select all

FastCgiExternalServer /usr/bin/php5.1-fcgi -host localhost:port
Rein subjektiv fühlt sich die Seite jetzt wesentlich flüssiger an als mit FastCgiServer.

Grüße, KM
andre丨
Posts: 125
Joined: 2003-09-28 13:34
Contact:
 

Probleme mit fastCGI

Post by andre丨 »

Hallo,
auf einmal habe ich bei einem Script ein Problem mit FastCGI. Sobald ich das Script aufrufe, geht meine CPU Last auf 100% und es werden unmengen an php-fcgi-starter gestartet. Danach dauert es eine weile und ich bekomme einen "Internal Server Error".

In den Logs sieht das ganze folgendermaßen aus:

suexec.log - nichts besonderes:

Code: Select all


[2006-05-04 16:57:31]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
[2006-05-04 16:57:34]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
[2006-05-04 16:57:37]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
[2006-05-04 16:57:40]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
[2006-05-04 16:57:43]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
[2006-05-04 16:57:46]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
[2006-05-04 16:57:49]: uid: (user/user) gid: (1001/1001) cmd: php-fcgi-starter
error.log

Code: Select all

[Thu May 04 16:33:57 2006] [warn] FastCGI: server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1002, gid 1002) started (pid 17143)
[Thu May 04 16:35:05 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1008, gid 1001) started (pid 17207)
[Thu May 04 16:40:17 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 5002, gid 1001) started (pid 17240)
[Thu May 04 16:57:15 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17250)
[Thu May 04 16:57:28 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17259)
[Thu May 04 16:57:31 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17265)
[Thu May 04 16:57:34 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17271)
[Thu May 04 16:57:37 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17277)
[Thu May 04 16:57:40 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17283)
[Thu May 04 16:57:43 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17289)
[Thu May 04 16:57:46 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17295)
[Thu May 04 16:57:49 2006] [warn] FastCGI: (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" (uid 1006, gid 1001) started (pid 17301)
[Thu May 04 16:57:52 2006] [warn] FastCGI: scheduled the start of the last (dynamic) server "/var/www/php-fcgi-scripts/user/php-fcgi-starter" process: reached dynamicMaxClassProcs (10)
Kann dies evtl. auch ein Fehler im php Script sein? Kann mir nicht erklären warum auf einmal so ein Fehler auftreten sollte - es lief alles wunderbar.

Jemand eine Idee?

Vielen Dank für die Hilfe!!

André
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

Überprüfe mal dein FCGI Starter. Das mit der Suexec.log ist richtig so, betreibe FCGI lokal auf meinem Laptop (Debian) und auf meinem Rootie (SuSE 9.3).
Hatte damals ähnliches festgestellt, da lag es an den

Code: Select all

PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
Einstellungen. Habe diese auf meinem lokalen Server rausgeschmissen und danach wurden keine Errors geloggt. Bei meinem Rootie stehen diese Eintragungen drin und es werden auch keine Errors geloggt...
Ob es damit was zu tun hat musst mal ausprobieren.
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

chaosad wrote:Hat hier schon jemand eine Lösung für das Problem:

Code: Select all

FastCGI: incomplete headers (0 bytes) received from server
gefunden?
Es tritt nicht regelmäßig auf, aber wenn doch, hilft nur noch den apache komplett neuzustarten.
Wenn Skripte ziemlich lange benötigen kann man das ganze sogar reproduzieren, was natürlich nicht gerade fein ist :(
Verwende die aktuellste php-5.1.2 Version
Wenn die Seite einen 500er bringt und die oben genannte Fehlermeldung in den logs auftaucht scheint lediglich der php-fcgi Prozess zu hängen. Wird dieser nämlich gekillt lässt sich die Seite wieder aufrufen.

Das Problem ist allerdings, warum hängt dieser sich auf?
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

Das Problem ist allerdings, warum hängt dieser sich auf?
Berechtigung für suexec (UID/GID) in httpd.conf richtig eingestellt?
Starterberechtigung entsprechend gesetzt?
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

Die sind eigentlich soweit schon ok. Wie gesagt ich kann ja PHP Skripte ausführen usw. ohne das etwas an Fehlern in den logs auftaucht.
Allerdings erhalt ich eben sporadisch diese 500er
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

Ich hatte das beim ersten mal auch gehabt. Nur das damals komplett für alle Skripte der 500er erschien statt sporadisch. Es lag damals an den Berechtigungen UID/GID, suexec auskommentiert in httpd.conf und es lief. Genau daran wird es liegen.
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

hmm daran kanns nicht liegen.

in der httpd.conf ist schon ein Eintrag für suexec vorhanden.
Wenn ich den einkommentiere geht für den VH natürlich gar nichts mehr ;)
Die User passen auch. Also ich teste da mal weiterhin, vielleicht krieg ich den Fehler noch raus.

Über Lösungsvorschläge freu ich mich aber natürlich :)
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

Kann mich aber noch daran erinnern, als es nicht lief, hatte ich vor lauter Frust den Starter gelöscht und komplett neu erstellt - aber den PHP_FCGI_CHILDREN Teil rausgenommen. Danach waren keine Probleme mehr festzustellen.
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

der sieht im moment so aus bei mir:

Code: Select all

#!/bin/sh
PHPRC="/var/www/VHOST/conf"
export PHPRC
#PHP_FCGI_CHILDREN=4
#export PHP_FCGI_CHILDREN
exec /usr/bin/php-fcgi
Hab ich aber zuvor auch schon mal mit und ohne versucht.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

Der Starter sieht soweit ok aus, die Pfade stimmen ja sonst würde es sporadisch auch nicht gehen.
Der Eintrag im log besagt aber das er den Starter nicht öffnen kann weil entweder eine Berechtigung fehlt oder Pfadproblem (ausgeschlossen)

Du hast ja folgende Einträge vorzunehmen:

fastcgi.conf

Code: Select all

FastCgiWrapper /usr/lib/apache2/suexec2
FastCgiServer /var/www/php-fcgi-scripts/VHOST/php-fcgi-starter -user User -group Group
httpd.conf

Code: Select all

DocumentRoot /var/www/VHOST/web
        DirectoryIndex index.php index.html index.htm

        SuexecUserGroup USER GROUP
In einem der beiden Teile ist der Ursprung deiner Fehlermeldung, überprüfe mal alles was bei dir dort steht und ob keiner der Pfade ins leere läuft (z.B. suexec)

Gruss Thomas

[EDIT]
exec /usr/bin/php-fcgi
Du hast PHP in das bin Verzeichnis kompiliert?
Ich hätte dafür ein eigenes Verzeichnis, z.B. /usr/local/php5 genommen. Denk aber auch dran, nach dem kompilieren heisst das auszuführende Binary nur php, du musst es auch in php-fcgi umbenennen. Hast ja bestimmt gemacht!

Bei mir steht im ./configure soetwas im prefix

Code: Select all

./configure --prefix=/usr/local/php5
[/EDIT]
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

die Einträge passen schon.
Ja php hab ich hier leider mal aus versehen im falschen Verzeichnis erstellt. Ist aber nicht so tragisch, da das ganze nur eine Testmaschine ist :)
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

Ist sehr eigenartig, mehr fällt mir dazu auch nicht mehr ein... :(
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by chaosad »

@sledge0303 trotzdem danke für deine Hilfe. Werd am WE noch ein paar Versuche machen. Wenn ich dann nichts finde wird die Testmaschine platt gemacht und ich richte nochmal alles neu ein...
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by sledge0303 »

chaosad wrote:@sledge0303 trotzdem danke für deine Hilfe. Werd am WE noch ein paar Versuche machen. Wenn ich dann nichts finde wird die Testmaschine platt gemacht und ich richte nochmal alles neu ein...
Nichts zu danken. Viel Glück am WE und installiere PHP dann in ein gesondertes Verzeichnis statt im System ;)

Gruss Thomas
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Debian Sarge, Apache2, Suexec2, mod_fastcgi, php5-fcgi HowTo

Post by Joe User »

Moin,

da dieser Thread mitlerweile recht unübersichtlich geworden ist, wird er an dieser Stelle geschlossen. Bei Bedarf bitte einen zweiten Thread mit passendem Subject und Referenz zu diesen Thread starten, danke.

Gruss,
Joe User
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.
Locked