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