PHP als Apache Module
HendrikS
- webserver
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
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.
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:
LoadModule php5_module C:/php/php5apache.dll
AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
----
application/x-httpd-php php php3 phtml
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.
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?
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
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.
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?
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.
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)?
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.
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.