Edgar Ehritt: fastcgi_module auf Apache // Probleme mit FastCgiExternalServer

Beitrag lesen

Hallo Jörg,

| Alias                        /script                /home/eddi/fcgi
| FastCgiIpcDir                /tmp
| FastCgiExternalServer        /home/eddi/fcgi        -socket /tmp/php.sock

| Um so erstaunlicher war für mich, dass folgende Konfiguration für ein einzelnes Script erfolgreich ist:
| FastCgiExternalServer /home/eddi/public_html/test/info.php -socket /tmp/php.sock

Wieso findest Du das erstaunlich? Du sagst Apache (mittels Alias), dass er alle Anfragen die über /script kommen, mit dem Programm "info.php" verarbeiten soll - deswegen wird das logischerweise auch ausgeführt.

ach ja? Wo?
Das Problem ist derzeit nur, das ich nicht mehr rekonstruieren kann, wie der Server konfiguriert war, das die letzte Zeile lief. Sonst hätte ich eine komplett adäquate Lösung, die auch ErrorDocument-handling einschließt.

Du gibst einen Prozess an, der sämtliche Anfragen an den Webserver über bestimmte Urls entgegennehmen soll.
Das Programm selbst (Dein fcgi bzw. info.php) hat mit PHP und Webserver-Konfigurationen erstmal nichts zu tun.

Zunächst gibt man ein Programm an. Da ist der entscheidende Punkt. info.php ist kein Programm - hat nicht mal ein shebang. Auch die oben stehende Konfiguration zeigt ins Leere. /home/eddi/fcgi existiert gar nicht. Zum Verständnis genau dieser Details hatte ich aber auf die FAQ verwiesen.

Bei Deiner ersten Konfiguration, würde also ein
http://..../script?bla=blubb
dazu führen, dass das Kommando
/home/eddi/fcgi
mit dem Parameter "bla" aufgerufen wird.

Jain sage ich mal dazu. Entschieden nein dazu, das da gar nichts aufgerufen werden kann und, wie oben konfiguriert ein Unix Socket zur Prozesskommunikation genutzt wird. Und ein Parameter ist es ja in dem Sinne auch nicht, es ist das Adäquat zu einer Umgebungsvariable QUERY_STRING, was mittels Protokoll übergeben wird.

Wenn nun andere PHP-Dateien includet werden sollen, muss Dein Programm (/home/eddi/fcgi) so gebaut sein, dass es aus den Parametern/der URL erkennen kann, wo es die PHP-Dateien herbekommt.

Da drückt mir ganz und gar nicht der Schuh.

Wie auch immer, danke trotzdem!
eddi

--
(v0.0.3 - also ganz der alte ;)