HendrikS: PHP als Apache Module

Hallo, ich betreibe bei mir auf dem PC (win2k) einen Apache 1.3 mit PHP5 als Test-Environment.
Bisher hatte ich PHP einfach als cgi bin laufen, leider unterstützt es in diesem Zustand einige features (e.g. $_SERVER['PHP_AUTH_USER']) nicht, welche ich z.Z brauche.

Daher wollte ich es umstellen und als Apache Modul laufen lassen. Habe auch die docs auf php.net durchgearbeitet, schien alles recht simpel zu sein. (http.conf)

Jetzt werden allerdings .php scripts nicht mehr ausgeführt sondern eher direkt dem Browser als application/x-httpd-php übergeben.

Woran kann das liegen, was muss ich ändern?

Vielen Dank
Hendrik Sollich

  1. hallo,

    Jetzt werden allerdings .php scripts nicht mehr ausgeführt sondern eher direkt dem Browser als application/x-httpd-php übergeben.
    Woran kann das liegen, was muss ich ändern?

    Andersherum: was hast du denn bisher eingestellt? Eventuell hilft dir der entsprechende Abschnit im Feature-Artikel weiter.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. hallo,

      Jetzt werden allerdings .php scripts nicht mehr ausgeführt sondern eher direkt dem Browser als application/x-httpd-php übergeben.
      Woran kann das liegen, was muss ich ändern?

      Andersherum: was hast du denn bisher eingestellt? Eventuell hilft dir der entsprechende Abschnit im Feature-Artikel weiter.

      Danke, den hatte ich auch schon gelesen, ich hab bis jetzt nix gemacht ausser die php5ts.dll in den apache root zu kopieren, und diese zeilen in httpd.conf und mimes.types zu kopieren:

      Add to the end of the LoadModule section

      LoadModule php5_module C:/php/php5apache.dll

      Add to the end of the AddModule section

      AddModule mod_php5.c

      Add this line inside the <IfModule mod_mime.c> conditional brace

      AddType application/x-httpd-php .php

      For syntax highlighted .phps files, also add

      AddType application/x-httpd-php-source .phps

      ----

      application/x-httpd-php php php3 phtml

      1. hi,

        Andersherum: was hast du denn bisher eingestellt?

        Entschuldige, das hatte ich noch nicht gelesen.

        Add to the end of the LoadModule section

        LoadModule php5_module C:/php/php5apache.dll

        Falscher Ablageort. Das Modul muß in das Modulverzeichnis des Apache kopiert werden - im Standardfall. Und den hast du.

        application/x-httpd-php php php3 phtml

        Hm. "php3" sollte langsam ausgestorben sein.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
    2. Nun hatte ich mir noch mal dien Artikel durchgelesen und alle erwaehnten settings ausprobiert aber das Problem erscheint immer noch. Sobald ich einen PHP Datei aufrufe, versucht mein Browser diese Herunter zuladen, tue ich das, dann sehe ich zudem, das der PHP-code noch lesbar ist, sprich er wurde nicht ausgefuehrt.

      Was mache ich Falsch?

      1. Hallo Hendrik,

        Nun hatte ich mir noch mal dien Artikel durchgelesen und alle erwaehnten settings ausprobiert aber das Problem erscheint immer noch. Sobald ich einen PHP Datei aufrufe, versucht mein Browser diese Herunter zuladen, tue ich das, dann sehe ich zudem, das der PHP-code noch lesbar ist, sprich er wurde nicht ausgefuehrt.

        ich trau mich ja kaum zu fragen, aber manchmal denkt man ja an die einfachsten Dinge nicht: Du hast nach den Änderungen an der httpd.conf schon den Apachen neu gestartet? Nur dann übernimmt er nämlich die geänderten Einstellungen.

        Ansonsten hatte ich beim Lesen deines Ausgangspostings auch den Eindruck, dass dein Vorgehen richtig war. Mehr hab ich nämlich auch nicht gemacht, als ich meinem Indianer irgendwann mal PHP (5.0.1) geschenkt habe.
        Nun ja, ich verwende einen neueren Apachen (2.049); vielleicht gibt es in der 1.x-Version tatsächlich noch andere Gemeinheiten. Warum verwendest du überhaupt so ein altes Schätzchen?

        So long,
         Martin

        --
        Niemand ist überflüssig: Er kann immer noch als schlechtes Beispiel dienen.
        1. hallo,

          Nun ja, ich verwende einen neueren Apachen (2.049); vielleicht gibt es in der 1.x-Version tatsächlich noch andere Gemeinheiten.

          Die gibt es, aber sie betreffen nicht das angesprochene Thema. Allerdings ist es durchaus ein guter Rat, gleich den ganzen Apache zu aktualisieren - auf die aktuelle Version 2.0.55.

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
          1. Tja, was auch immer das Problem bei Apache 1.3 ausgeloest hat, mit 2.0.55 war es as easy as pie. Nur leider hab ich jetzt ein anderes Problem :S

            Wo meine Apache vorher ohne weiters die MySQL Datenbank bei mir gefunden hatte, da tut er das nun nicht mehr. Zumindest zeigt er Seiten, welche auf diese zugreifen nicht mehr an. Was kann ich da tun?

            1. hallo,

              »Wo meine Apache vorher ohne weiters die MySQL Datenbank bei mir gefunden hatte, da tut er das nun nicht mehr. Zumindest zeigt er Seiten, welche auf diese zugreifen nicht mehr an. Was kann ich da tun?

              Dir eine genauere Problembeschreibung angewöhnen. Wa sind "Seiten, welche auf diese zugreifen"? Und was vermelden dir deine logs?

              Grüße aus Berlin

              Christoph S.

              --
              Visitenkarte
              ss:| zu:) ls:& fo:) va:) sh:| rl:|
              1. Sorry wegen der geringen Ausführungen. Ich weiss nur, dass ich nicht viel gemacht habe, damit die Verbindung zu MySQL funktioniert hatte.
                In den Logs steht nichts bezüglich der Datenbank.

                Muss ich bei dem Apache 2 noch was einstellen oder liegt das an PHP (welches ich übrigens auch noch mal geupdated habe)?

                1. hallo,

                  Muss ich bei dem Apache 2 noch was einstellen

                  Nicht für MySQL.

                  oder liegt das an PHP (welches ich übrigens auch noch mal geupdated habe)?

                  Vielleicht. Überprüfe deine php.ini

                  Grüße aus Berlin

                  Christoph S.

                  --
                  Visitenkarte
                  ss:| zu:) ls:& fo:) va:) sh:| rl:|
      2. hallo Hendriks,

        Nun hatte ich mir noch mal dien Artikel durchgelesen und alle erwaehnten settings ausprobiert aber das Problem erscheint immer noch.

        Ich bat dich, anzugeben, _was_ du denn eingestellt hast. Ohne Kenntnis deiner veränderungen kommen wir nicht weiter.

        Sobald ich einen PHP Datei aufrufe, versucht mein Browser diese Herunter zuladen, tue ich das, dann sehe ich zudem, das der PHP-code noch lesbar ist, sprich er wurde nicht ausgefuehrt.

        Das heißt, dein Apache führt einfach kein PHP aus. Das sollte sich leicht beheben lassen - wenn wir die relevanten Teile deiner httpd.conf kennen.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|