Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
PHP
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
PHP ist eine weit verbreitete Skriptsprache für die Webentwicklung. Auf dem Entwicklungsrechner dient sie dazu, serverseitige Skripte auszuführen und dynamische Webanwendungen lokal zu testen.
Installation
1. Paketlisten aktualisieren
Damit apt die aktuellen Paketversionen aus den Ubuntu-Paketquellen kennt.
sudo apt update
2. PHP (CLI) installieren
Installiert den PHP-Kommandozeileninterpreter. Damit kannst du PHP-Skripte direkt im Terminal ausführen oder den integrierten Webserver starten.
sudo apt install php-cli
Prüfen: Die Versionsnummer wird angezeigt (unter Ubuntu 26.04 ist dies PHP 8.5).
php -v
3. PHP-FPM für Webserver installieren
Installiert PHP-FPM (FastCGI Process Manager). Dieser Dienst verarbeitet PHP-Anfragen im Hintergrund für Webserver wie nginx.
sudo apt install php-fpm
4. Prüfen, ob der PHP-FPM-Dienst läuft
PHP-FPM läuft als Hintergrunddienst (systemd). Hier siehst du, ob er aktiv ist.
systemctl status php8.5-fpm
Prüfen: In der Ausgabe steht Active: active (running). Mit der Taste q verlässt du die Anzeige.
5. Häufig benötigte Erweiterungen installieren
Die meisten modernen PHP-Projekte und Frameworks (wie Laravel oder Symfony) benötigen zusätzliche Module für Netzwerkabfragen, Textverarbeitung, XML, ZIP-Archive und SQLite-Datenbanken.
sudo apt install php-curl php-mbstring php-xml php-zip php-sqlite3
Prüfen: Listet alle aktiven PHP-Module auf.
php -m
PHP testen
6. Skript auf der Kommandozeile ausführen
Prüft mit einem kurzen Einzeiler, ob der PHP-Interpreter Code fehlerfrei ausführt.
php -r 'echo "PHP funktioniert!\n";'
Prüfen: Im Terminal wird PHP funktioniert! ausgegeben.
7. Integrierten Entwicklungsserver testen
PHP bringt einen schlanken Webserver mit. Damit kannst du Webseiten sofort lokal im Browser testen, ohne einen externen Server konfigurieren zu müssen.
php -S 127.0.0.1:8000
Prüfen: Im Browser unter http://localhost:8000 ist der Server erreichbar. Zum Beenden des Servers drückst du im Terminal Strg + C.
Erstes Programm
8. Arbeitsordner anlegen
Ein eigener Ordner für die Übungsdateien.
mkdir -p ~/php-uebung
9. In den Ordner wechseln
Alle folgenden Befehle beziehen sich auf diesen Ordner.
cd ~/php-uebung
10. Skript anlegen
Legt hallo.php an. Jede PHP-Datei beginnt mit <?php. declare(strict_types=1) sorgt dafür, dass PHP die angegebenen Typen (hier string) streng prüft, statt Werte stillschweigend umzuwandeln. Variablen beginnen in PHP immer mit $.
nano hallo.php
Füge diesen Inhalt ein (im Terminal mit Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X:
<?php
declare(strict_types=1);
function begruessung(string $name): string
{
return "Hallo $name!";
}
$sprachen = ['Go', 'Rust', 'PHP', 'Kotlin', 'TypeScript'];
echo begruessung('Ubuntu'), PHP_EOL;
echo 'PHP-Version: ', PHP_VERSION, PHP_EOL;
foreach ($sprachen as $i => $sprache) {
printf("%d. %s\n", $i + 1, $sprache);
}
11. Skript ausführen
Der Interpreter php liest die Datei und führt sie sofort aus.
php hallo.php
Prüfen: Die Ausgabe beginnt mit Hallo Ubuntu! und PHP-Version: 8.5.…, danach folgen fünf nummerierte Zeilen.
12. Syntax prüfen
php -l untersucht eine Datei auf Syntaxfehler, ohne sie auszuführen. Praktisch vor dem Hochladen auf einen Server.
php -l hallo.php
Prüfen: Die Meldung lautet No syntax errors detected in hallo.php.
Bibliotheken mit Composer
Composer ist der Paketmanager für PHP. Er lädt Bibliotheken aus dem Verzeichnis Packagist in den Projektordner vendor und erzeugt eine Datei, die sie automatisch einbindet.
13. Composer installieren
Installiert Composer aus den Ubuntu-Paketquellen.
sudo apt install composer
Prüfen: Die Ausgabe nennt die Version, z. B. Composer version 2.9.5.
composer --version
14. Bibliothek hinzufügen
Installiert als Beispiel ramsey/uuid, eine Bibliothek zum Erzeugen eindeutiger Kennungen. Composer legt dabei composer.json (gewünschte Pakete), composer.lock (genau installierte Versionen) und den Ordner vendor an.
composer require ramsey/uuid
Prüfen: Die Ausgabe enthält Using version ^4.… for ramsey/uuid.
15. Skript mit der Bibliothek anlegen
Legt uuid.php an. Die Zeile mit vendor/autoload.php bindet alle über Composer installierten Bibliotheken ein; use macht die Klasse unter ihrem kurzen Namen verfügbar.
nano uuid.php
Füge diesen Inhalt ein (im Terminal mit Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X:
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Ramsey\Uuid\Uuid;
$id = Uuid::uuid4();
echo "Neue ID: $id", PHP_EOL;
echo 'Version: ', $id->getFields()->getVersion(), PHP_EOL;
16. Skript ausführen
php uuid.php
Prüfen: Es erscheint eine zufällige Kennung wie Neue ID: d227883a-79b7-4e80-825f-e60098dc7e3e und darunter Version: 4. Bei jedem Aufruf ist die Kennung eine andere.
Zusammenspiel mit nginx (optional)
Wenn du nginx nach der nginx-Anleitung eingerichtet hast, kannst du PHP über PHP-FPM anbinden.
17. PHP in der nginx-Konfiguration aktivieren
Ergänzt in der bestehenden Konfiguration /etc/nginx/sites-available/dev die Startdatei index.php und den location ~ \.php$-Block für PHP-FPM.
sudo nano /etc/nginx/sites-available/dev
Die Datei hat schon Inhalt, der vollständig ersetzt wird. Lösche ihn zuerst: Alt+\ springt an den Anfang, Alt+A beginnt eine Markierung, Alt+/ springt ans Ende, Strg+K schneidet alles Markierte aus. Füge diesen Inhalt ein (im Terminal mit Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X:
server {
listen 127.0.0.1:8081;
server_name localhost;
root /var/www/dev;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
18. nginx-Konfiguration testen
Stellt sicher, dass die neue Konfiguration fehlerfrei ist.
sudo nginx -t
Prüfen: Die Ausgabe endet mit test is successful.
19. nginx neu laden
Aktiviert die geänderte Konfiguration im Webserver.
sudo systemctl reload nginx
20. PHP-Testdatei anlegen
Erstellt eine PHP-Informationsseite im Entwicklungsordner /var/www/dev.
nano /var/www/dev/info.php
Füge diesen Inhalt ein (im Terminal mit Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X:
<?php phpinfo(); ?>
21. Testseite aufrufen
Fragt die PHP-Testseite über nginx ab.
curl -s http://localhost:8081/info.php | head -n 10
Prüfen: Im Browser siehst du unter http://localhost:8081/info.php die ausführliche PHP-Konfiguration.
Optional: Autostart ausschalten
Auf einem Entwicklungsrechner muss PHP-FPM nicht zwingend bei jedem Rechnerstart im Hintergrund laufen.
Autostart ausschalten:
sudo systemctl disable php8.5-fpm
Bei Bedarf von Hand starten und stoppen:
sudo systemctl start php8.5-fpm
sudo systemctl stop php8.5-fpm
Deinstallieren
1. Testdatei entfernen
Löscht die PHP-Testdatei aus dem Entwicklungsverzeichnis, falls sie angelegt wurde.
rm -f /var/www/dev/info.php
2. Übungsordner entfernen
Löscht die Beispielskripte und den Ordner vendor.
rm -rf ~/php-uebung
3. Composer entfernen
Entfernt Composer sowie seinen Zwischenspeicher und seine Einstellungen im Benutzerordner.
sudo apt purge composer
rm -rf ~/.cache/composer ~/.config/composer
4. PHP und Erweiterungen entfernen
purge entfernt die Pakete sowie deren Konfigurationsdateien unter /etc/php.
sudo apt purge "php*"
5. Nicht mehr benötigte Pakete entfernen
Entfernt Abhängigkeiten und Bibliotheken, die nur für PHP installiert wurden.
sudo apt autoremove
Prüfen: Der PHP-Befehl ist nicht mehr vorhanden.
php -v
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Open Knowledge (Freies Wissen): Alle Texte stehen unter der freien Lizenz Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0) und können frei gelesen, geteilt und weiterverarbeitet werden.