René: PHP als CGI: was kommt in die httpd.conf?

Hallo Forum,

ich versuche gerade eine Webserver mit PHP aufzusetzen. Der Server läuft mit NetBSD. Der Apache ist eine 1.3'er Version. Ich habe schon oft auf einem Linuxserver PHP als Modul installiert, aber hier möchte ich es als CGI installieren. Jetzt weiß ich aber nicht, was ich in die httpd.conf reinschreiben muß, damit PHP-Scripts als CGI ausgeführt werden. Die Zeile mit AddType habe ich schon drin. Dadurch werden mir jetzt PHP-Dateien zum Download angeboten. Was muß ich noch tun um es als CGI zu bekommen?

Gruß
René

  1. hallo René,

    ich versuche gerade eine Webserver mit PHP aufzusetzen. Der Server läuft mit NetBSD. Der Apache ist eine 1.3'er Version. Ich habe schon oft auf einem Linuxserver PHP als Modul installiert, aber hier möchte ich es als CGI installieren. Jetzt weiß ich aber nicht, was ich in die httpd.conf reinschreiben muß

    http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf15.htm#a4 sollte dir weiterhelfen können. Allerdings steht das, was für die "CGI-Variante" benötigt wird, etwas tiefer und wird für Windows beschrieben  -  gilt aber analog auch für dein *BSD.

    Grüße aus Berlin

    Christoph S.

    1. Hallo Christoph,

      http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf15.htm#a4 sollte dir weiterhelfen können. Allerdings steht das, was für die "CGI-Variante" benötigt wird, etwas tiefer und wird für Windows beschrieben  -  gilt aber analog auch für dein *BSD.

      Also ich habe jetzt:

      ScriptAlias /php/ "/usr/pkg/bin"
      Action application/x-httpd-php "/php/php"
      AddType application/x-httpd-php .php

      Das entspricht also genau der Anleitung, bis auf das ich die Pfade natürlich auf mein System umgemünzt habe.

      Aber wenn ich eine PHP-Datei aufrufe bekomme ich die Apache-Fehlermeldung:
      The requested URL /php/php/index.php was not found on this server.
      Die Datei index.php liegt direkt im Apache Root-Verzeichnis.

      1. hallo René,

        ScriptAlias /php/ "/usr/pkg/bin"

        Ungewöhnlich, aber möglich. Du hast natürlich überprüft, daß dort eine ausführbare Datei "php" liegt?

        Action application/x-httpd-php "/php/php"

        Das ist dann wieder korrekt, falls dein ScriptAlias ebenfalls korrekt ist.
        .

        AddType application/x-httpd-php .php

        Sollte ebenfalls korrekt sein.

        Aber wenn ich eine PHP-Datei aufrufe bekomme ich die Apache-Fehlermeldung:
        The requested URL /php/php/index.php was not found on this server.

        Versuche mal, dir die Fehlermeldung verständlich zu machen. Der Apache hat versucht, an deinen Handler ("action application") die angeforderte PHP-Datei zu übergeben. Daher dieser scheinbare "Pfadname". Zu interpretieren ist das wahrscheinlich so, daß deine php nicht ausführbar ist oder nicht im (Server-)Pfad liegt. Der Runlevel oder das Netzwerk oder gegebenenfalls zur Sicherhiet mal der ganze Rechner müßte neu gestartet werden.

        In deiner php.ini (die gibts auch für *BSD, sollte in /etc liegen) ist "register globals" auf "on" gesetzt?

        Die Datei index.php liegt direkt im Apache Root-Verzeichnis.

        Das ist relativ unwichtig.

        Grüße aus Berlin

        Christoph S.