[linux-l] PHP4.1.1 + Apache 1.3.32 - Download statt Execute
Conner Mayhem
Kicknews at gmx.de
Mi Feb 6 13:47:38 CET 2002
Guten Abend!
Mein Problem ist in wenig Worten beschrieben:
Das als DSO mittels APXS compilierte PHP4 Modul
ist in meinem Webserver zwar geladen, aber
beim Aufruf von PHP Files bietet mir mein
Browser statt dem erwarteten Ergebnis, das das
Skript liefern soll, einen Download Dialog an.
Naja, das Problem liesse sich mittels Nachlesen
in den INSTALL bzw. README Dateien der beiden
Programme sicher loesen, dachte ich mir, und
habe damit und dem damit verbundenen Reinstallieren
bzw. Umkonfigurieren etliche Tage verbracht.
Unter
http://www.phpbuilder.com/forum/read.php3?num=3&id=108908&loc=0&thread=108908
hat ein weniger geduldiger Zeitgenosse einen Thread angeleiert,
der mir sowohl die Bauchmuskeln trainieren half,
als auch den Gedanken nahe gelegt hat, das Problem
doch mal in die Oeffentlichkeit zu schicken, um
zu sehen, wie Ihr dazu steht.
Ich bin der Reihe nach wie folgt vorgegangen:
#> tar xzf apache_1.3.23.tar.gz
#> cd apache_1.3.23
#> configure --prefix=/usr/local/apache1.3.23 \
--enable-module=all \
--enable-rule=SHARED_CORE \
--enable-shared=MAX
#> make && make install
#> ..
Anschließend php3 und php4:
#> tar xzf php-3.0.18.tar.gz
#> cd php-3.0.18
#> configure --with-mysql \
--with-apxs=/usr/local/apache1.3.23/bin/apxs \
--enable-versioning \
--enable-track-vars
#> make && make install
#> ..
#> tar xzf php-4.1.1.tar.gz
#> cd php-4.1.1
#> configure --with-mysql \
--with-apxs=/usr/local/apache1.3.23/bin/apxs \
--enable-versioning \
--enable-track-vars
#> make && make install
Es existieren jetzt /usr/local/apache1.3.23/libexec/libphp3.so
und /usr/local/apache1.3.23/libexec/libphp4.so, beide sind in
der httpd.conf aktiviert:
LoadModule php3_module libexec/libphp3.so
LoadModule php4_module libexec/libphp4.so
AddModule mod_php3.c
AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php-source .phps
Damit ist die Installation/Konfiguration wie in den
INSTALLs und READMEs erfolgreich abgeschlossen, wie
ich auch der /var/log/error_log entnehmen konnte:
[notice] Apache/1.3.23 (Unix) PHP/3.0.18
PHP/4.1.1 mod_perl/1.26 configured --
resuming normal operations
phpMyAdmin funktioniert einwandfrei.
Ist ja auch mit PHP3 gemacht.
Bei jeder Datei die auf eine Erweiterung endet, die mit dem
PHP4 Modul assoziiert ist, gibts den Download-Dialog.
Fragen, die sich leicht beantworten lassen durch Ausprobieren:
1. Liegts an der Parallelinstallation von PHP3 und PHP4 DSOs?
NEIN!
-> Wenn es so waere, muesste es dann nicht funktionieren, wenn
ich die Loadmodule und Addmodule Befehle fuer PHP3
auskommentiere und den httpd neu starte?
Im error_log sehe ich dann:
[notice] Apache/1.3.23 (Unix) PHP/4.1.1
mod_perl/1.26 configured --
resuming normal operations
Es reicht also, an der httpd.conf zu manipulieren, um
die Module nachtraeglich zu (de)aktivieren.
2. Liegts am apache_1.3.23? Schliesslich hat der 1.3.22 auch ohne
DSOs nichtmal gestartet. Zwei Tage lang hab ichs probiert, dann
kam die 1.3.23 raus.
NEIN!
-> Wenn es so waere, dann muesste doch ein etwas aelterer und
bugfreier apache (ich hab noch nen 1.3.14 rumfahren) mit
php-4.1.1 klar kommen, tut er aber nicht. Das Ergebnis ist
dasselbe.
3. Liegts an meinem IQ? Dann haette doch inzwischen sicher jemand
dasselbe Problem schon laengst mal hier gepostet, oder?
NEIN!
Mein IQ ist laut amtlicher Messung bei 126 Punkten, damit kann
ich Klappstuehle aufstellen, ner Blondine Englisch beibringen,
Parkplaetze mit ner Thermosflasche verteidigen und vieles mehr.
Nunja. Es wird wohl was ganz einfaches sein, vielleicht der eine
oder andere Parameter den ich (nicht) verwendet habe beim configure.
Lasst mich teilhaben an eurer magischen Runde der troubleshootenden
Bug-Exorzisten.
MfG Conner Mayhem
Mehr Informationen über die Mailingliste linux-l