fcgid, suexec, PHP -> Fehler 500

  • Hallo Alex und die anderen, wenn sich damit denn einer auskennt....

    Ich mache hier seit gestern morgen rum und bekomme den Webserver nicht ans Laufen. Gut, der läuft schon, aber PHP geht nicht.

    Was ich habe:
    Debian 8.1
    Apache 2.4 mit mpm-event, mod_fcgid und mod_suexec
    PHP 5.6 mit php5-fpm

    So, suexec läuft. php5-fpm ist gestartet und läuft. Suexec User und Gruppen sind im vhost angelegt und stimmen. Starterscript (Wrapper) für fcgid ist vorhanden.

    Nur leider geht PHP nicht. HTML-Seiten gehen, bei PHP kommt nur "interner Serverfehler".

    Das Log sagt nur:
    [Tue Aug 25 10:02:17.322134 2015] [fcgid:warn] [pid 20306] (104)Connection reset by peer: [client xxx:52066] mod_fcgid: error reading data from FastCGI server
    [Tue Aug 25 10:02:17.322248 2015] [core:error] [pid 20306] [client xxx:52066] End of script output before headers: info.php

    und ich habe keinen Schimmer, an was das liegt. Solche Versionssprünge, gleich bei mehreren Diensten, ist nicht gut :(

    Googlen nach der Meldung bringt nicht viel, da kkommt alles und nichts. Das könnte alles sein. Suchen nach einer Anleitung für fcgid scheitert auch, weil das doofe Google ständig fcgid und fastcgi vermischt....

    Die einzige halbwegs brauchbare ist die hier: *** Link veraltet *** Aber auch da sind Dinge nicht korrekt bzw. funktionieren nicht mehr mit Apache 2.4

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • moin. wie sieht denn dein Starter Script aus?
    Bin da am Anfang händisch auch verzweifelt.
    PHP5-FPM ist schonmal ne sehr gute Lösung. Schau doch mal auf dem Root von mir, dort habe ich auch Apache2.4 mit PHP5-FPM am laufen. Kannst dir da ja mal was abschauen. Ansonsten poste ich gerne mal wie das bei mir gelöst ist.


  • So sieht das bei mir aus. Rechte müssen da auch stimmen, bei mir ist es 755

    Das muss jetzt nicht am Wrapper liegen, da passieren aber die meisten Fehler.

    Ich denke mal du hast dein PHP selbst kompiliert?

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Nein, nicht selbst kompiliert, kommt mir auch nicht in die Tüte ;)

    Ich denke mal, dass das Problem derzeit am Wrapper liegt.

    #!/bin/sh
    PHPRC=/etc/php5/cgi/
    export PHPRC
    export PHP_FCGI_MAX_REQUESTS=5000
    export PHP_FCGI_CHILDREN=8
    exec /usr/lib/cgi-bin/php

    Das Problem scheint wohl zu sein, dass es "/usr/lib/cgi-bin/php" nicht gibt, auch nicht "/usr/local/bin/php-cgi" oder "/usr/bin/php-cgi" oder dergleichen.

    Verfluchter Mist, ich raffe es nicht. So viele Anleitungen und überall steht was anderes.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Hm, Bahnhof....

    Muss ich das PHP-Modul php5-cgi auch installieren? Das hatte ich weg gelassen, denn dafür ist ja eigentlich das neue php5-fpm da ???!!!???

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Hm, bei Dir laufen die ganzen User webxxx per "php-fpm: pool webxxx"

    Bei mir, habe nun php5-cgi nun installiert, PHP geht, laufen die alle als "/usr/bin/php5-cgi"

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Hi Syno,
    ich hatte vermutet das du das selber kompiliert hast. Aber gut.
    Du kannst php5-cgi installieren, ich habe es Standard so das ich das per VHost auswählen kann. Das geht über ein "Skelett" was du sicherlich von Plesk kennst.

    PHP5-FPM habe ich Standardmässig aktiviert genau wie du mit Suexec und der Wrapper wird durch das Skelett angelegt. Natürlich geht das auch manuell mit gefrickel, ich hatte das mal vor 10 Jahren selber gemacht, da es einfach die einzige Lösung war. Allerdings nicht mit FPM, sondern FastCGI und Suexec und PHP.. och weiss ich jar nicht mehr. Das ganze extrem individuell auch selber kompiliert.

    Es wird sicherlich am Wrapper liegen, die Pfade MÜSSEN stimmen. Guck mal das du dsa richtig anpasst, in der Regel sollten danach weitere Fehlermeldungen kommen die aufschlussreicher sind. :)

    Wenn du magst, kann ich dir auch nen Link geben wie du ISPconfig installieren kannst. Das ist allerdings nicht so ein "automatisches" System wie Plesk oder IMSCP wo du einfach per apt-get install alles installierst. Es ist noch etwas Handarbeit, allerdings sehr freundlich in handgemachtem.

    Willst du alles per Hand machen oder wir könnten auch theoretisch das gerne zusammen machen mit ISPConfig.

    Es ist dann nur eine Verwaltungs und Monitoring Schnittstelle. Das ganze andere muss natürlich nach Bedarf angepasst werden. Leider habe ich nur für Ubuntu 14.04 meinen eigenen IInstallations und Konfigurations Plan. Debian sollte aber nicht so das Problem sein.

    Wenn du Interesse hast machen wir den Root Platt und lass dich da mal spielen. Kann Debian Image einspielen. Aber nur wennste Lust hast.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • ist echt zum K.....

    Bei Dir:
    Server API: FPM/FastCGI
    Configuration File (php.ini) Path: /etc/php5/fpm

    Bei mir:
    Server API: CGI/FastCGI
    Configuration File (php.ini) Path: /etc/php5/cgi

    Und wenn ich das Modul php5-cgi nicht installiere, dann geht der Wrapper nicht, weil es die Binary /usr/bin/php5-cgi nicht mehr gibt

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Bin einen Schritt weiter, läuft jetzt erst mal. Daher mal die Stichpunkte, wenn ich es mal wieder brauche oder ein anderer :)

    php5-fpm und mod_fcgid können nicht miteinander arbeiten. Es gibt schlicht keine Verbindung. Die meisten Anleitungen schreiben zwar "mod_fcgid", nutzen aber "mod_fastcgi". mod_fastcgi ist auf Debian 8 aber nicht mehr verfügbar, zudem ist mod_fcgid schlanker und schneller.

    Die fehlende Binary /usr/bin/php-cgi ist daher auch klar. Die wird nur bei mod_cgi oder mod_fastcgi angelegt, nicht bei mod_fcgid. Installiert man aber php5-cgi, legt den Wrapper darauf, dann nutzt PHP CGI und ignoriert FPM.

    php5-cgi als auch mod_fcgid werden nicht benötigt. Man braucht aber mod_proxy und mod_proxy_fcgi. Einen extra Wrapper braucht es auch nicht.

    Bäää, genug für heute, mag nicht mehr.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(