Howto PHP5 und PHP4 gleichzeitig unter Apache laufen lassen

Aus Cryptronic
Wechseln zu: Navigation, Suche

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.conf
und 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

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Tipps
Werkzeuge