igphp.dePHP verstehen, lernen und unterrichten

Modul B · Werkzeuge · Lektion B1

Lokale Entwicklungsumgebung für PHP einrichten

Aktualisiert am 3 Min. Lesezeit

Bevor du ernsthaft programmierst, brauchst du eine Umgebung, in der dein Code läuft – auf deinem eigenen Rechner, ohne jede Änderung erst auf einen Server hochladen zu müssen. Dafür gibt es drei verbreitete Wege. Welcher passt, hängt davon ab, wie nah du an der späteren Serverumgebung sein willst.

Lernziele

  • Du kannst PHP lokal starten und eine Seite im Browser aufrufen.
  • Du kennst die Vor- und Nachteile von Komplettpaketen und Containern.
  • Du weißt, welche Einstellungen du beim Entwickeln ändern solltest.
BrowserGET /kursWebservernginx · ApachePHP-FPMZend EngineDatenbankSQLAnfrage →← Antwort: fertiges HTML
Ablauf einer Anfrage: Browser, Webserver, PHP und Datenbank

Was bei einer Anfrage passiert

Die Grafik oben zeigt das Grundprinzip. Der Browser schickt eine Anfrage an einen Webserver. Der erkennt, dass eine PHP-Datei gemeint ist, und reicht sie an PHP weiter – auf Produktionsservern meist an PHP-FPM, einen Prozessverwalter, der mehrere PHP-Prozesse bereithält. PHP führt das Skript aus, fragt bei Bedarf eine Datenbank ab und gibt fertiges HTML zurück. Der Browser sieht vom PHP-Code nie etwas.

Weg 1: der eingebaute Webserver

Seit PHP 5.4 bringt PHP einen kleinen Webserver mit. Für Übungen und kleine Projekte ist das der schnellste Weg:

cd mein-projektphp -S localhost:8000

Danach öffnest du http://localhost:8000 im Browser. Liegt dort eine index.php, wird sie ausgeführt. Der eingebaute Server verarbeitet Anfragen nacheinander und ist ausdrücklich nur für die Entwicklung gedacht – für den Betrieb im Internet ist er nicht geeignet.

PHP selbst installierst du unter Linux über die Paketverwaltung, unter macOS zum Beispiel mit Homebrew und unter Windows über die offiziellen Downloads von windows.php.net. Welche Rolle das Betriebssystem spielt, beleuchtet Windows, macOS und Linux im Vergleich.

Weg 2: Komplettpakete wie XAMPP

Pakete wie XAMPP bündeln Apache, MariaDB und PHP in einem Installationsprogramm. Nach wenigen Klicks läuft alles, inklusive einer Verwaltungsoberfläche für die Datenbank. Im Unterricht sind solche Pakete beliebt, weil sie auf jedem Schulrechner gleich aussehen.

Die Nachteile: Du bekommst die PHP-Version, die das Paket mitbringt, und die Konfiguration unterscheidet sich oft deutlich von einem echten Server. Außerdem sind manche Pakete ab Werk bewusst offen konfiguriert – sie gehören niemals ins Internet.

Weg 3: Container mit Docker

Mit Docker beschreibst du deine Umgebung in einer Datei und startest sie mit einem Befehl. Webserver, PHP und Datenbank laufen in getrennten Containern. Der große Vorteil: Alle im Team – und später der Server – nutzen exakt dieselben Versionen.

services:  web:    image: php:8.4-apache    ports:      - "8080:80"    volumes:      - ./:/var/www/html

Mit docker compose up läuft die Seite unter http://localhost:8080. Der Einstieg kostet etwas mehr Zeit, zahlt sich aber aus, sobald mehr als eine Person am Projekt arbeitet oder du mehrere PHP-Versionen testen willst.

Eingebauter ServerKomplettpaketDocker
EinrichtungMinutenMinuteneine Stunde und mehr
Nähe zum echten Servergeringmittelhoch
Mehrere PHP-Versionenumständlichumständlicheinfach
Geeignet fürÜbungenUnterricht, EinstiegTeams, echte Projekte

Einstellungen für die Entwicklung

Beim Entwickeln willst du jeden Fehler sehen. In der php.ini deiner lokalen Umgebung gehören deshalb display_errors = On und error_reporting = E_ALL. Auf einem öffentlichen Server ist es genau umgekehrt: Fehler werden protokolliert, aber nie angezeigt.

Editor oder IDE

Für PHP gibt es zwei verbreitete Wege: VS Code mit einer PHP-Erweiterung (etwa Intelephense) ist kostenlos und schlank. PhpStorm ist eine kostenpflichtige, sehr umfangreiche IDE; für Schülerinnen, Schüler, Studierende und Lehrkräfte gibt es kostenlose Bildungslizenzen. Wichtig ist bei beiden, dass Autovervollständigung und Fehleranalyse funktionieren – das spart am Anfang viel Frust.

Sobald die Umgebung läuft, geht es mit Paketen weiter: Composer und Packagist. Hintergrund zur Hardware, auf der das alles läuft, liefert Computerhardware verstehen.

Selbstcheck

Wofür ist der eingebaute PHP-Webserver gedacht?

Nur für die Entwicklung und für Übungen, nicht für den Betrieb im Internet.

Was ist der größte Vorteil von Docker für Teams?

Alle arbeiten mit exakt denselben Versionen von PHP, Webserver und Datenbank.

Welche Fehlereinstellung gehört auf einen öffentlichen Server?

Fehler protokollieren, aber nicht anzeigen (display_errors = Off).

Passt dazu

Werkzeuge

Composer und Packagist

composer.json, composer.lock, Versionsangaben und Autoloading nach PSR-4.

3 Min. Lesezeit
Werkzeuge

PHP-Frameworks und CMS

Was ein Framework von einem CMS unterscheidet und welches Werkzeug zu welchem Projekt passt.

3 Min. Lesezeit
Computerwissen

Computerhardware verstehen

CPU, RAM, SSD, Hauptplatine und Netzwerk – und was davon für Entwickler zählt.

4 Min. Lesezeit