phpundmysql.de

PHP 5.5 und Apache unter Windows installieren

| Keine Kommentare

Die Installation von PHP5.5 mit Apache Webserver unterscheidet sich nur geringfügig von der Vorgängerversion, die wir in unserem Buch „PHP 5.4 und MySQL 5.5“ beschrieben haben. Um ein lauffähiges Testsystem zu erstellen, setzen wir zuerst einen eigenen Apache Webserver auf, laden uns danach einen aktuellen Snapshot von PHP herunter, konfigurieren beides und lassen danach eine Handvoll Testskripte laufen.

Die Anleitung bezieht sich auf unser lokales Testsystem mit einem 64-Bit Windows. Beim Download der Komponenten werden wir uns also immer dazu passenden Versionen besorgen. Bei denselben Quellen sind aber immer auch die 32-Bit Versionen zu bekommen.

1. Den Apache Webserver herunterladen

Die PHP5.5 Snapshots für Windows sind mit Visual Studio 2012 kompiliert. Aus diesem Grund müssen wir darauf achten, einen kompatiblen Webserver zu verwenden. Diesen bekommen wir auf der Webseite http://www.apachelounge.com/download/additional/. Beachtet den Hinweis, dass diese Version nicht mit Windows XP funktioniert! Folgt dem Link „httpd-2.4.4-win64-VC11 & modules“ (ggf. hat sich seit dem Schreiben dieser Anleitung die Versionsnummer auf 2.4.x geändert) und ladet euch die Datei „httpd-2.4.4-win64-VC11-upd2.zip“ herunter (der Versionshinweis von eben gilt natürlich auch hier). In diesem Archiv befindet sich ein Ordner namens Apache24, entpackt diesen in ein neues Verzeichnis (z.B. C:\wap, steht für Windows-Apache-PHP). Der Einfachheit halber benennt den Ordner „Apache24“ in „apache“ um; am Ende sollte die Ordnerstruktur bislang wie folgt aussehen:

C:
+- wap
  +- apache
    +- der ganze apache kram wie bin, conf, etc...

Wie bereits erwähnt verwenden wir Komponenten, die mit Visual Studio 2012 kompiliert worden ist. Um das zum Laufen zu kriegen, muss auf eurem Rechner „Visual C++ Redistributable für Visual Studio 2012“ installiert sein. Ob diese Bibliotheken bereits installiert sind, erfahrt ihr in eurer Systemsteuerung unter dem Punkt „Programme und Features“ (siehe folgende Abbildung). Ansonsten bekommt ihr diese auf der Microsoft Webseite mit dem wenig sprechenden Linktitel http://www.microsoft.com/de-de/download/details.aspx?id=30679. Achtet auch hier auf die korrekte Version, im Zweifel könnt ihr euch auch beide installieren – d.h. die 32-Bit und die 64-Bit Version.

2. Den PHP 5.5 Snapshot herunterladen

Nachdem wir den Apache soweit entpackt haben, besorgen wir uns eine aktuelle Version von PHP. Im Releaseprozess gibt es mehrere Alpha- und Beta-Versionen. Allerdings werden so genannte Snapshots auf mehr als täglicher Basis ins Netz gestellt. Die Snapshots für Windows finden sich unter http://windows.php.net/downloads/snaps/php-5.5/. Unter dieser Adresse findet ihr eine lange, zeitlich sortierte Liste von Verzeichnissen. Ganz unten sind die neuesten Versionen (während der Erstellung dieser Anleitung ist beispielsweise das Verzeichnis http://windows.php.net/downloads/snaps/php-5.5/re769025/ das neueste). Jedes dieser Verzeichnisse enthält mehrere PHP Versionen, die entweder zum Debuggen, zum Testen etc gedacht sind.

Passend zu unserem vormals installierten Apache Webserver wählen wir die „Thread Safe VC11 x64“ (nicht wundern, dass Visual C++ für Visual Studio 2012 mit VC11 abgekürzt ist (!) ), die den Dateiname php-5.5-ts-windows-vc11-x64-re769025.zip trägt. Den Inhalt dieses Archivs entpacken wir in einen Ordner namens „php“ unter C:\wap. Und wenn wir schon einmal dabei sind, Verzeichnisse anzulegen, erstellen wir unter C:\wap auch gleich noch htdocs (für unsere PHP Skripte) und tmp (für temporöre Dateien und Sessions). Danach sieht unser Verzeichnisbaum so aus:

C:
+- wap
  +- apache
    +- der ganze apache kram wie bin, conf, etc...
  +- htdocs (noch leer)
  +- php
    +- der ganze php kram wie ext, extras und logs
  +- tmp (noch leer)

3. Die Konfiguration von Apache und PHP

Nach den vorigen beiden Schritten haben wir alles auf der Festplatte, was wir bis hierher benötigen. Allerdings müssen wir die beiden Komponenten noch einrichten, damit diese auch nahtlos miteinander funktionieren. Im Folgenden werden wir bei Pfadangaben in den Konfigurationsdateien immer darauf achten, dass wir diese relativ angeben. Ziel ist es, dass wir im Nachhinein den Ordner C:\wap auch umbenennen oder an eine andere Stelle kopieren/verschieben können, ohne die Konfiguration anpassen zu müssen (im Fachjargon: wir machen uns eine portable Version daraus).

Ein gut gemeinter Tipp zur Konfiguration: Anstatt die Dateien durchzuscrollen, lohnt sich der Einsatz der Suchfunktion eures Texteditors. Die Kür ist ein „Alle Vorkommen suchen“, wie es beispielsweise Notepad++ bietet. Verwendet kein Suchen/Ersetzen, weil die gefundenen Stellen nicht eindeutig sein müssen! Beachtet dazu in den folgenden Auflistungen die Kommentare in Klammern.

Nehmen wir uns zuerst die Datei C:\wap\php\php.ini vor: Diese existiert im Initialzustand noch gar nicht. Im selben Verzeichnis befindet sich aber eine Datei namens php-ini-development, von der wir uns eine Kopie mit dem Namen php.ini machen und mit einem Texteditor öffnen.

Zuerst geben wir an, wo die Extensions/Module (wie z.B. die MySQLi-Schnittstelle) liegen. Dazu geben wir der Definition von extension_dir den Wert "..\..\php\ext". Das Verzeichnis ist relativ zu der Apache-Konfigurationsdatei httpd.conf angegeben. Danach aktivieren wir einige grundlegende Extensions, indem wir das Semikolon am Zeilenanfang entfernen. Eine gute Wahl ist immer curl, gd2, mbstring, mysqli, sockets und xmlrpc. Bei Bedarf (de-)aktiviert andere oder weitere. Welche ihr später braucht, erfahrt ihr im Zweifel dann, wenn bei der Ausführung eines PHP Skripts entsprechende Fehlermeldungen zu fehlenden Extensions auftreten.

Zu guter letzt legen wir noch bei upload_tmp_dir und session.save_path das bisher leeres tmp-Verzeichnis mit "..\tmp" fest.

Das wars soweit mit der PHP Konfiguration, als nächstes öffnen wir die bereits vorhandene Datei C:\wap\apache\conf\httpd.conf. Hierin müssen wir eine ganze Reihe von Anpassungen machen. Der Einfachheit halber listen wir sie nur auf. Dabei gilt: Sucht in eurem Texteditor nach dem unterstrichenden Begriff und ändert ihn in den kursiven Begriff. Steht dort nur ein kursiver Begriff, fügt die Zeile an der genannten Stelle (in Klammern) hinzu:

  • ServerRoot „c:/Apache24“ –> ServerRoot „..“
  • Listen 80 –> Listen 82
  • LoadModule php5_module „../php/php5apache2_4.dll“ (an Ende des Blocks der LoadModule Anweisungen etwa in der Mitte der Datei)
  • #ServerName www.example.com:80 –> ServerName localhost:82
  • Require all denied (im Block unter <Directory />) –> Require all granted
  • DocumentRoot „c:/Apache24/htdocs“ –> DocumentRoot „../htdocs“
  • <Directory „c:/Apache24/htdocs“> –> <Directory „../htdocs“>
  • DirectoryIndex index.html –> DirectoryIndex index.php index.html
  • AddType application/x-httpd-php .php (an das Ende der Direktive <IfModule mime_module>, also z.B. hinter AddType application/x-gzip .gz .tgz)
  • PHPIniDir ../php (als letzte Zeile der Datei hinzufügen)

Was haben wir hier getan? Im Einzelnen wollen wir nicht drauf eingehen, sondern auf die Dokumentation verweisen. Nur grob: Wir haben den Apache so eingerichtet, dass er nach notwendigen Pfaden relativ schaut, anstatt diese absolut zu verwenden. Darüber hinaus haben wir den Server auf Port 82 eingerichtet und nicht wie standardmäßig auf Port 80. Das haben wir aus dem Grund gemacht, falls zufällig schon eine Anwendung wie etwa Skype oder ein anderer Apache den Port 80 belegt. Außerdem haben wir PHP als Modul eingebunden, einen Verweis auf die php.ini gelegt und die index.php als Standarddatei für URL ohne Dateiangabe festgelegt. So wird der Apache also zukünftig die Datei c:\wap\htdocs\index.php verarbeiten, wenn wir im Browser die URL http://localhost:82 eingeben. Zu guter Letzt haben wir durch „Require all granted“ Tür und Tor geöffnet, so dass wir keine Forbidden-Fehlermeldungen bekommen werden; Dies ist nur für lokale Testserver ratsam!

4. Erste Tests

Den Server starten wir erst einmal über die Kommandozeile (Win+R). Dort wechseln wir mit dem Kommando

cd c:\wap\apache\bin

in das richtige Verzeichnis und starten den Server mit httpd.exe. Wenn an dieser Stelle keine Fehlermeldungen kommen, ist bei der Konfiguration alles glatt gegangen. Als nächstes legen wir drei Testskripte im Ordner c:\wap\htdocs an: Zuerst prüfen wir, ob wir es wirklich mit PHP5.5 zu tun haben (wir nennen die Datei phpinfo.php)

<?php phpinfo(); ?>

Das Ergebnis dürfte wir folgt aussehen:

Von nun an können wir mit dem neuen System arbeiten und uns etwa Standardbespiele aus der PHP 5.5 Featureliste vornehmen, nämlich Generatoren und die Password-API.

Viel Spaß dabei!

Schreibe einen Kommentar