Jörg: php als apache modul

Hallo,
auf meinem Server (Intranet) läuft derzeit php 4.3.4 und apache 2.0.48.
php ist derzeit als cgi installiert. Meine Frage nun: Wie kann ich die bestehende php-Installation als apache-modul einbinden. Wie kann ich überhaupt feststellen, ob meine installierte php-version als apache-modul installiert werden kann. Oder wie kann ich feststellen, ob ggf. eine neue php-version installiert werden muß.
Als weiteres habe ich die Frage, ob generell der .htaccess-Schutz nur dann funktioniert, wenn php als apache-modul installiert ist.
Für eine Antwort wäre ich dankbar.

  1. Hallo Jörg

    auf meinem Server (Intranet) läuft derzeit php 4.3.4 und apache 2.0.48.

    Du solltest auf apache 2.0.52 und PHP 4.3.10 oder die 5-er-Version updaten.

    php ist derzeit als cgi installiert. Meine Frage nun: Wie kann ich die bestehende php-Installation als apache-modul einbinden. Wie kann ich überhaupt feststellen, ob meine installierte php-version als apache-modul installiert werden kann. Oder wie kann ich feststellen, ob ggf. eine neue php-version installiert werden muß.
    Als weiteres habe ich die Frage, ob generell der .htaccess-Schutz nur dann funktioniert, wenn php als apache-modul installiert ist.

    Für HTTP-Authentication (was Du als .htaccess-Schutz bezeichnest) benötigst Du zunächst kein PHP. Das kann apache auch allein. Allerdings kannst Du bei geeigneten Einstellungen in php.ini HTTP-Authentication auch mit PHP realisieren.

    Für eine Antwort wäre ich dankbar.

    Welches Betriebssystem verwendest Du?

    Freundliche Grüße

    Vinzenz

    1. hallo Vinzenzi,

      Du solltest auf apache 2.0.52 und PHP 4.3.10 oder die 5-er-Version updaten.

      Inzwischen ist Apache 2.0.53 vorhanden.

      Grüße aus Berlin

      Christoph S.

      1. Hallo Christoph

        Inzwischen ist Apache 2.0.53 vorhanden.

        Danke für die Info!

        Freundliche Grüße

        Vinzenz

    2. Hallo Jörg

      [...] Allerdings kannst Du bei geeigneten Einstellungen in php.ini HTTP-Authentication auch mit PHP realisieren.

      Und welche Konfiguration betrifft die HTTP-Authentifizierung?

      Gruß aus Berlin!
      eddi

      1. Hallo XaraX

        Und welche Konfiguration betrifft die HTTP-Authentifizierung?

        Sorry, da hab' ich etwas verwechslt. HTTP-Authentifizierung ist nur möglich, wenn PHP als Modul läuft. Beim Provider meines damaligen Arbeitgebers lief es als CGI und .htaccess war nicht erlaubt :-(

        Freundliche Grüße

        Vinzenz

  2. moin
    ...

    Als weiteres habe ich die Frage, ob generell der .htaccess-Schutz nur dann funktioniert, wenn php als apache-modul installiert ist.

    ich kann dir leider nur das sagen: das geht immer, weil es eine apache funktionalität ist. den rest weiss ich nicht.

    andraes

    1. hallo andreas,

      Als weiteres habe ich die Frage, ob generell der .htaccess-Schutz nur dann funktioniert, wenn php als apache-modul installiert ist.
      ich kann dir leider nur das sagen: das geht immer, weil es eine apache funktionalität ist

      Da .htaccess tatsächlich etwas mit dem Apache zu tun hat, muß der Server eben auch so eingestellt sein, daß .htaccess-Dateien berücksichtigt werden können. Ist das nicht so, kann man in der php.ini (wie Vinzenz angegeben hat) einstellen, was man will, es wird nicht funktionieren.

      Grüße aus Berlin

      Christoph S.

      1. moin christoph,

        berücksichtigt werden können. Ist das nicht so, kann man in der php.ini (wie Vinzenz angegeben hat) einstellen, was man will, es wird nicht funktionieren.

        sorry, das wusste ich nicht.

        viele grüsse,
        andreas

  3. Hallo,

    auf meinem Server (Intranet) läuft derzeit php 4.3.4 und apache 2.0.48.
    php ist derzeit als cgi installiert. Meine Frage nun: Wie kann ich die bestehende php-Installation als apache-modul einbinden.

    Gar nicht! Das CGI-Binär ist fertig und es läßt sich daraus auch kein Modul machen. Wenn Du unter Linux arbeitest (freundlicher Weise hast Du uns über Dein OS nicht informiert) dann besorge Dir die aktuellen Sourcen von PHP. Abhängig davon, ob Du den apachen selbst gebaut hast, oder nicht, muß Du im Verszeichnis der apache-Installation nach einem Script mit dem Namen aspx2 suchen (bei Windows weiß ich es nicht...). Ist dieses Script vorhanden, dann kannst Du dem apachen PHP als Modul zur Seite stellen. Ist es nicht vorhanden, dann möchte ich Dir den Feature Artikel von Christoph empfehlen http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf04.htm,  denn ich halte es für wichtig Server und PHP selbst bauen zu können.

    Wie kann ich überhaupt feststellen, ob meine installierte php-version als apache-modul installiert werden kann.

    Das hängt ausschließlich von den zur Kompilierungszeit festgelegten Parametern ab. Ausführbare, kompilierte Versionen PHPs (CGI, CLI, Handler) sind für ein spezielles Interface geschaffen und lassen sich nicht allround einsetzen. Mit welcher Version Du es zutun hast, kannst Du in einem Programm mit der Funktion php_sapi_name() herausfinden, andernfalls gehe ich davon aus, daß Dir phpinfo() ein Begriff ist.

    Oder wie kann ich feststellen, ob ggf. eine neue php-version installiert werden muß.

    Wenn Du die PHP-Sourcen hast, bau Dir alle drei Versionen zusammen und probiere Dich aus. Ohne Sourcen, wie bereits angerissen, sehe ich keine Chance, aus einem CGI-Binär ein Modul zu zaubern.

    Als weiteres habe ich die Frage, ob generell der .htaccess-Schutz nur dann funktioniert, wenn php als apache-modul installiert ist.

    Die Überlegungen PHP dem Server als Modul zur Seite zu stellen, sollten anderer Natur (z. B.: Performance für PHP-gestütze Projekte) sein als die HTTP-Authentifizierung. Wie bereits bemerkt, kann das der apache mit einem anderen (von Hause aus mitgebrachten und standardmäßig einkompilierten) Modul erledigen.

    Gruß aus Berlin!
    eddi