Wie PHP 4 und PHP 5 parallel unter Windows installieren?

Für alle, die auf ihrem Windows Rechner sowohl PHP 4 als auch PHP 5 parallel mit einem Apache Webserver installieren möchten, habe ich hier eine kurze Anleitung zusammengestellt. Sie erhebt nicht den Anspruch auf Vollständigkeit und kann auch nicht alle Eventualitäten abdecken. Ich hoffe aber, dass mit dieser Anleitung das Grundprinzip ein wenig klarer wird.

Vorbereitung

Zur Vorbereitung der Installation mußt du dir folgende Pakete auf deinem Rechner laden:

  • Apache Webserver: Je nachdem, welche Version du verwenden möchtest, suche nach dem Win32 Binary (MSI Installer), weil dieser sich am einfachsten installieren lässt
  • PHP 4 und PHP 5: Ich bevorzuge die Windows Binaries als Zip Package, weil sich die einfach entpacken lassen.
  • MySQL: Die Installation ist zwar nicht Thema dieses Beitrages, aber du findest auf der Website sowohl Zip Packages als auch MSI Installer zum Installieren unter Windows.

Ich installiere das Wamp immer im Verzeichnis "c:\wamp", also musst du das Verzeichnis bei dir auch noch anlegen, bevor es losgehen kann.

Apache installieren

Durch einen Klick auf die .msi Datei startet die Installation. Achte dabei darauf, dass der Apache Webserver in das Verzeichnis "c:\wamp" installiert wird. Gebe hier nicht noch ein Unterverzeichnis wie "Apache" an, weil bei der Installation sowieso ein entsprechendes Unterverzeichnis installiert wird. Am besten installierst du auch gleich den entsprechenden Windows Dienst. Das sollte im MSI Installer (wenn ich mich richtig erinnere) automatisch abgefragt bzw. durchgeführt werden.

PHP 4 und PHP 5 installieren

Die beiden Zip Packages entpackst du einfach in das Verzeichnis "c:\wamp". Dann nennst du die beiden Verzeichnisse in "php4" bzw. "php5" um. Das macht die Konfiguration nachher einfacher. Das war es dann schon. Alternativ kannst du nun noch MySQL installieren. Achte auch dabei darauf, dass es im Verzeichnis "c:\wamp\mysql" installiert wird. Danach müsste dein Verzeichnis wie folgt aussehen:

c:\wamp\Apache
c:\wamp\mysql
c:\wamp\php4
c:\wamp\php5

Apache konfigurieren

Der Apache Webserver weiß bisher noch nicht, wann er PHP 4 und PHP 5 verwenden soll. Dies müssen wir ihm nun noch beibringen. Öffne die Datei "c:\wamp\Apache\conf\httpd.conf" und füge an das Ende folgende Zeilen ein.

ScriptAlias /php4/ "C:/wamp/php4/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
Action application/x-httpd-php "/php4/php.exe"

ScriptAlias /php5/ "C:/wamp/php5/"
AddType application/x-httpd-php5 .php5
Action application/x-httpd-php5 "/php5/php-cgi.exe"

Nun werden Dateien mit der Endung .php und .php4 durch PHP 4 geparst und Dateien mit der Endung .php5 durch PHP 5. Wenn du per Default alle Dateien durch PHP 5 parsen lassen möchtest, dann ändere die Zeilen entsprechend ab.

Danach suchst du nach der Stelle "ServerName localhost". Dort drunter findest du dann die Angabe für dein DocumentRoot, das du entsprechend anpassen kannst. Per Default wird hier "c:\wamp\Apache\htdocs\" stehen. Wenn du das DocumentRoot anpasst, musst du die Angabe "<Directory "c:\wamp\Apache\htdocs\">" ein wenig weiter unten auch anpassen. Wichtig ist zudem, dass du unter "<Directory "c:\wamp\Apache\htdocs\">" die Angabe von AllowOverride auf All setzt. Verkürzt sieht das dann so aus, wenn du dein DocumentRoot auf "e:" setzen möchtest:

DocumentRoot "e:/"

[...]

<Directory "e:/">
[...]
AllowOverride All
[...]
</Directory>

Alternativ kannst du in der "httpd.conf" nun noch andere Einstellungen mit das Laden und Aktivieren von Apache Modulen oder das Einrichten von Virtual Hosts vornehmen.

PHP Konfigurieren

Hier ist an dieser Stelle eigentlich nicht viel zu tun. Du kannst aber die "c:/wamp/php4/php.ini" und "c:/wamp/php5/php.ini" entsprechend deiner Bedürfnisse anpassen, Einstellungen vornehmen oder Extensions laden.

Installation testen

Lege in deinem DocumentRoot Verzeichnis die drei Dateien "phpinfo.php", "phpinfo.php4" und "phpinfo.php5" an, die alle folgenden Inhalt haben sollten:

PHP:
  1. <?php
  2.     phpinfo();
  3. ?>

Du rufst du im Browser nacheinander die folgenden Adressen auf:

Bei den ersten beiden Aufrufen sollte nun die Infoseite von PHP 4 und beim letzten Aufruf die von PHP 5 erscheinen.

Wenn du nun aber in einem Verzeichnis alle .php Dateien mit PHP 5 parsen lassen möchtest, ohne dass du das global in der "httpd.conf" anpassen möchtest, musst du in dem entsprechenden Verzeichnis noch eine ".htaccess" Datei anlegen mit folgendem Inhalt:

AddType application/x-httpd-php5 .php

Wenn du per Default alle .php Dateien mit PHP 5 parsen lässt und in einem Verzeichnis aber alle .php Dateien mit PHP 4 parsen lassen möchtest, musst du die .htaccess entsprechend anpassen.

AddType application/x-httpd-php4 .php

Das war es

Ich hoffe, dass bei dir bis hierhin alles geklappt hat. Falls du Fehler findest oder Fragen hast, schreibe einfach in die Kommentare am Ende dieser Seite.

7 Antworten für “Wie PHP 4 und PHP 5 parallel unter Windows installieren?”

  1. samuel sagt:

    ich hab die installation so wie beschrieben durchgeführt, leider bekomme ich am ende aber diese Fehlermeldung:

    You don't have permission to access /php4/php.exe/phpinfo.php4 on this server.

    Wo kann ich denn diese berechtigung ändern?

  2. Ralf Eggert sagt:

    Hi samuel,

    da bin ich momentan auch ein wenig überfragt. Den Fehler kenne ich leider überhaupt nicht.

    Gruß,

    Ralf

  3. Michael sagt:

    Hi Samuel,

    Vermutlich hast Du den Fehler längst behoben (habe den Kommentar erst heute gelesen)?! Falls nicht, tippe ich auf einen falschen
    Pfad: /php4/php.exe/phpinfo.php4.
    Sollte sicher heißen: /php4/phpinfo.php4

    Grüße
    Michael

  4. Michael Dreher sagt:

    Hi,

    ich habe mich heute mit dieser Anleitung rumgequält, und bin letztendlich zu einer Lösung gekommen. Die Anweisung

    ScriptAlias /php4/ "C:/wamp/php4/"
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php4
    Action application/x-httpd-php "/php4/php.exe"

    ScriptAlias /php5/ "C:/wamp/php5/"
    AddType application/x-httpd-php5 .php5
    Action application/x-httpd-php5 "/php5/php-cgi.exe"

    muss heissen:

    ScriptAlias /php4 "C:/wamp/php4"
    AddType application/x-httpd-php .php .php4
    Action application/x-httpd-php "/php4/php.exe"

    ScriptAlias /php5 "C:/wamp/php5"
    AddType application/x-httpd-php5 .php5
    Action application/x-httpd-php5 "/php5/php-cgi.exe"

    Wichtig ist also, dass die slashes am Ende weggenommen werden. Und zusätzlich müssen noch die Zeilen

    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

    in die httpd.conf eingefügt werden, un zwar unterhalb der Directory-Angabe für das eigene Dosument Root. Dann kommt der 403 Forbidden Error nicht mehr, und PHP4 und PHP5 laufen parallel wie beschrieben.

  5. Michael Dreher sagt:

    Hallo,

    Leider wurde ein Teil der Zeilen, die in die httpd.conf eingefügt werden müssen herausgefiltert aus meinem Kommentar. Richtigerweise müssen um die 4 Zeilen jeweils

    Directory "C:/WAMP/php4"
    /Directory

    und

    Directory "C:/WAMP/php5"
    /Directory

    stehen, aber vor jeder dieser Zeilen ein , dann ist es richtig... vielleicht kann man diese verhunzten Kommentare ja rausnehmen und richtig in die Beschreibung übernehmen...

  6. Christian Stöveken sagt:

    Junge, ich würd ja fast Nuhr zitieren...

    Jetzt setz dich doch mal hin und arbeite deine eigene Anleitung Schritt für Schritt ab - und dann lösch entweder die Anleitung hier oder korrigier Sie - weil mit deinem Google Ranking - wer weiß, wieviele Stunden du schon gekostet hast!

  7. Jörg sagt:

    Die Korrekturen von Michael Dreher im vierten Kommentar sind hilfreich, da diese aber durch die hiesige Blogsoftware verhunzt werden, habe ich sie mal lesbar in meinem Blog aufgeführt, damit andere sich den Code nicht mehr zusammenfrickeln müssen:

    http://joergk.blogspot.com/2007/07/php-4-und-php-5-parrallel-installieren.html

Hinterlasse eine Antwort