Howto PHP5 und PHP4 gleichzeitig unter Apache laufen lassen
Inhaltsverzeichnis |
Howto: PHP5 und PHP4 auf dem gleichen Apache server
Info
Dieses Howto ist nicht von mir selbst geschrieben worden, sonder dieses Howto habe ich auch http://www.dotdeb.org gefunden (http://www.dotdeb.org/howto/php5_and_php4_on_the_same_apache) und ins Deutsche übersetzt. Es ist nicht Wort für Wort, aber ich denke der Inhalt ist ungefähr gleich. Jedoch wurden einige Sachen von mir leicht modifiziert.
Das problem
Es ist leider nicht möglich die Apache Module PHP4 und PHP5 gleichzeitig zu verwenden. Dies führt zu shared objects collitions.
Die Lösung
Die Idee ist nun einfach PHP5 standardmäßig zu installieren und PHP4 als cgi laufen zu lassen. Dies ist aber nicht sehr sicher und empfiehlt sich eher auf Testservern für Entwickler einzusetzen als für den eigentlichen Webserver Betrieb. Denn PHP auf CGI Basis ist eine Sicherheitslücke.
Installation
Als erstes müssen wir die benötigten Apache Module installieren:
apt-get install libapache-mod-php5 php4-cgi
Configuration
Um php4 nun benutzen zu können, muss man in Apache das Modul 'action' laden
nano /etc/apache/modules.confund folgende Zeile einfügen:
LoadModule action_module /usr/lib/apache/1.3/mod_actions.so
Bitte stelle sicher, dass folgende Zeilen in der Datei '/etc/apache/conf.d/php5.conf/' (diese Datei sollte von Apache gelesen werden) stehen:
<IfModule mod_php5.c> AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps </IfModule>
Apache ist nun so konfiguriert, dass er .php, .phtml and .php3 Dateien mit dem mod_php**5** module lädt.
Nun werden wir Apache anweisen, dass er die .php4 Dateien mit dem installierten php**4** CGI Skript lädt. Dazu müssen folgende Zeilen in der Apache config eingefügt werden:
AddHandler php-script .php4 Action php-script /cgi-bin/php4
Nun den Apache Dienst neustarten:
/etc/init.d/apache restart
Das Ergebnis
Wenn der Apache ohne Fehler erfolgte sollte man nun folgendes ausführen können:
Man kriere in einer Webfolder die Dateien: 'phpinfo.php' und 'phpinfo.php4'
<?php phpinfo(); ?>
Wenn man nun die Dateien im Browser aufruft sollte sich die Ausgabe der beiden Dateien unterscheiden.
Mit 'STRG+F' sollte man beim einen PHP4 und beim anderen PHP5 finden können. Ansonsten ist bei der Installation was schiefgelaufen.
Viel Erfolg
Quelle
http://www.dotdeb.org/howto/php5_and_php4_on_the_same_apache