Edgar Ehritt: fastcgi_module auf Apache // Probleme mit FastCgiExternalServer

Beitrag lesen

Hallo,

derzeit habe ich einen Apachen 2.2 mit fastcgi_module und PHP 5.3rc als Testumgebung. Leider verstehen sich die Komponenten nicht sonderlich gut, da PHP extern an einem Socket (/tmp/php.sock) klebt und über diesen angesprochen werden soll. PHP findet ohne Nachhilfe die auszuführenden Scripte jedoch nicht. Folgende Konfiguration benutze ich derzeit:

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

Dies ist dem letzten Beispiel der FAQ nachempfunden. Das hat zur Folge, dass alle Anfragen unterhalb von http://name.domain/script/ mittels fastcgi_module durch PHP bedient werden.

Soweit ich das bis jetzt eruieren konnte, ist die Direktive FastCgiExternalServer gar nicht darauf ausgerichtet, <Locations> zu bedienen. PHP wird zwar aufgerufen, findet aus den FastCGI-Angaben aber die Dateien nicht und bricht mit einer Fehlermeldung ab:

Warning: Unknown: Filename cannot be empty in Unknown on line 0
Fatal error: Unknown: Failed opening required '' (include_path='.:') in Unknown on line 0

FastCgiExternalServer ist wohl nur dazu bestimmt, ein einzelnes Programm direkt aufzurufen, dem eine Auflösung zu einer real existierenden, zu verarbeitenden Datei daher nicht wichtig ist. 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

PHP findet aus den FastCGI-Headern zur eigentlichen Datei info.php und führt diese aus. Habe ich nur etwas falsch konfiguriert? (Andernfalls habe ich bereits einen work around.)

Gruß aus Berlin!
eddi

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