PHP installieren
PHP wird häufig für Webseiten, Webanwendungen und Content-Management-Systeme wie WordPress, Joomla oder Laravel verwendet.
In diesem Artikel erklären wir dir, wie du PHP auf einem KVM-Server installierst und prüfst, ob PHP korrekt funktioniert.
Voraussetzungen
Du benötigst:
einen KVM-Server mit Linux
Root-Zugriff oder einen Benutzer mit sudo-Rechten
eine bestehende SSH-Verbindung
ein installiertes Betriebssystem wie Debian, Ubuntu, AlmaLinux oder Rocky Linux
Für klassische Webseiten wird zusätzlich ein Webserver benötigt, zum Beispiel Apache oder Nginx.
Was ist PHP?
PHP ist eine serverseitige Programmiersprache.
Das bedeutet: PHP-Code wird auf dem Server ausgeführt. Der Besucher deiner Webseite sieht nicht den PHP-Code, sondern das Ergebnis, das der Server ausgibt.
PHP wird häufig genutzt für:
WordPress
Joomla
Drupal
Laravel
Shop-Systeme
Foren
eigene Webanwendungen
Adminoberflächen
APIs
Vor der Installation
Aktualisiere zuerst dein System.
Debian und Ubuntu
Paketlisten aktualisieren:
apt update
Installierte Pakete aktualisieren:
apt upgrade
AlmaLinux und Rocky Linux
System aktualisieren:
dnf update
PHP unter Debian oder Ubuntu installieren
Auf Debian und Ubuntu installierst du PHP über den Paketmanager apt.
Grundinstallation:
apt install php
Damit wird PHP installiert. Für viele Webseiten reicht das allein jedoch nicht aus, weil häufig zusätzliche PHP-Erweiterungen benötigt werden.
PHP-Version prüfen
Nach der Installation kannst du prüfen, ob PHP funktioniert.
Befehl:
php -v
Wenn PHP korrekt installiert ist, wird dir eine Ausgabe mit der installierten PHP-Version angezeigt.
Beispiel:
PHP 8.2.7 (cli)
Die genaue Version kann je nach Betriebssystem und Paketquelle abweichen.
Wichtige PHP-Erweiterungen installieren
Viele Anwendungen benötigen zusätzliche PHP-Erweiterungen.
Für typische Webanwendungen kannst du unter Debian oder Ubuntu folgende Pakete installieren:
apt install php-cli php-common php-curl php-gd php-mbstring php-mysql php-xml php-zip php-intl php-bcmath
Diese Erweiterungen werden häufig benötigt.
php-cli
PHP über die Kommandozeile ausführen
php-common
gemeinsame PHP-Grundfunktionen
php-curl
HTTP-Anfragen aus PHP heraus
php-gd
Bildverarbeitung
php-mbstring
Verarbeitung von Sonderzeichen und UTF-8
php-mysql
Verbindung zu MySQL oder MariaDB
php-xml
Verarbeitung von XML-Dateien
php-zip
ZIP-Dateien erstellen und entpacken
php-intl
Internationalisierung und Sprachfunktionen
php-bcmath
Berechnungen mit großen Zahlen
PHP unter AlmaLinux oder Rocky Linux installieren
Auf AlmaLinux und Rocky Linux installierst du PHP über dnf.
Grundinstallation:
dnf install php
PHP-Version prüfen:
php -v
Häufig benötigte Erweiterungen installieren:
dnf install php-cli php-common php-curl php-gd php-mbstring php-mysqlnd php-xml php-zip php-intl php-bcmath
PHP mit Apache verwenden
Wenn du Apache als Webserver nutzt, installierst du zusätzlich das passende Apache-Modul oder PHP-FPM.
Auf Debian oder Ubuntu:
apt install apache2 php libapache2-mod-php
Danach Apache neu starten:
systemctl restart apache2
Auf AlmaLinux oder Rocky Linux:
dnf install httpd php
Danach Apache starten und aktivieren:
systemctl enable httpd
systemctl start httpd
Wenn Apache bereits läuft, starte ihn neu:
systemctl restart httpd
PHP mit Nginx verwenden
Nginx führt PHP nicht direkt aus. Dafür wird PHP-FPM verwendet.
PHP-FPM ist ein Dienst, der PHP-Anfragen verarbeitet und an Nginx zurückgibt.
Debian und Ubuntu
PHP-FPM installieren:
apt install php-fpm
Status prüfen:
systemctl status php*-fpm
AlmaLinux und Rocky Linux
PHP-FPM installieren:
dnf install php-fpm
PHP-FPM starten und aktivieren:
systemctl enable php-fpm
systemctl start php-fpm
PHP-Testdatei erstellen
Um zu prüfen, ob PHP über den Webserver funktioniert, kannst du eine Testdatei erstellen.
Bei Apache liegt das Webverzeichnis häufig hier:
/var/www/html
Erstelle eine Datei:
nano /var/www/html/info.php
Füge folgenden Inhalt ein:
<?php phpinfo(); ?>
Speichere die Datei und öffne sie im Browser.
Beispiel:
http://SERVER-IP/info.php
Wenn PHP korrekt funktioniert, siehst du eine PHP-Informationsseite.
Testdatei wieder löschen
Die Datei info.php zeigt viele Informationen über dein System an.
Lösche sie nach dem Test wieder.
Befehl:
rm /var/www/html/info.php
Wichtig: Lasse phpinfo() nicht dauerhaft öffentlich erreichbar. Die Seite kann technische Informationen anzeigen, die für Angreifer nützlich sein können.
PHP-Konfiguration finden
Die PHP-Konfigurationsdatei heißt meistens php.ini.
Je nach System und PHP-Modus liegt sie an unterschiedlichen Orten.
Typische Pfade sind:
/etc/php/*/apache2/php.ini
PHP mit Apache unter Debian/Ubuntu
/etc/php/*/fpm/php.ini
PHP-FPM unter Debian/Ubuntu
/etc/php.ini
häufig bei AlmaLinux/Rocky Linux
/etc/php.d/
zusätzliche PHP-Konfigurationen
Du kannst den Pfad auch über PHP prüfen:
php --ini
Häufige PHP-Einstellungen
In der php.ini kannst du wichtige Werte anpassen.
Typische Einstellungen sind:
memory_limit
maximaler Arbeitsspeicher pro PHP-Prozess
upload_max_filesize
maximale Größe einzelner Uploads
post_max_size
maximale Größe von POST-Daten
max_execution_time
maximale Laufzeit eines PHP-Skripts
date.timezone
Zeitzone für PHP
Beispielwerte:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
date.timezone = Europe/Berlin
Nach Änderungen an der PHP-Konfiguration musst du den Webserver oder PHP-FPM neu starten.
Dienste nach Änderungen neu starten
Bei Apache unter Debian oder Ubuntu:
systemctl restart apache2
Bei Apache unter AlmaLinux oder Rocky Linux:
systemctl restart httpd
Bei PHP-FPM:
systemctl restart php*-fpm
Falls der Platzhalter nicht funktioniert, prüfe den genauen Dienstnamen:
systemctl list-units | grep php
PHP für WordPress
WordPress benötigt PHP und mehrere Erweiterungen.
Für Debian oder Ubuntu kannst du häufig diese Pakete installieren:
apt install php php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl
Für AlmaLinux oder Rocky Linux:
dnf install php php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip php-intl
Zusätzlich benötigst du eine Datenbank, zum Beispiel MariaDB oder MySQL.
PHP für Laravel
Laravel benötigt in der Regel PHP, Composer und mehrere PHP-Erweiterungen.
Typische Pakete unter Debian oder Ubuntu:
apt install php-cli php-mbstring php-xml php-curl php-zip php-bcmath php-mysql unzip
Composer wird für die Installation von Laravel-Abhängigkeiten benötigt.
Mehrere PHP-Versionen
Manche Anwendungen benötigen eine bestimmte PHP-Version.
Die verfügbare PHP-Version hängt von deinem Betriebssystem und den eingebundenen Paketquellen ab.
Wenn du eine andere PHP-Version benötigst, solltest du vorher prüfen:
welche PHP-Version deine Anwendung benötigt
welche PHP-Version dein Betriebssystem bereitstellt
ob externe Paketquellen notwendig sind
ob mehrere Webseiten unterschiedliche PHP-Versionen brauchen
Wichtig: Externe Paketquellen können zusätzliche Risiken verursachen. Nutze sie nur, wenn du weißt, was du tust und die Quelle vertrauenswürdig ist.
PHP aktualisieren
PHP wird normalerweise über den Paketmanager deines Systems aktualisiert.
Debian und Ubuntu:
apt update
apt upgrade
AlmaLinux und Rocky Linux:
dnf update
Halte PHP regelmäßig aktuell, da Sicherheitslücken in PHP oder Erweiterungen häufig ausgenutzt werden.
Häufige Probleme
PHP-Code wird im Browser angezeigt
Wenn der PHP-Code im Browser sichtbar ist, wird PHP nicht vom Webserver verarbeitet.
Mögliche Ursachen:
PHP ist nicht installiert
PHP-Modul für Apache fehlt
PHP-FPM ist nicht eingerichtet
Nginx ist nicht für PHP konfiguriert
Webserver wurde nach der Installation nicht neu gestartet
Browser lädt die PHP-Datei herunter
Wenn der Browser die Datei herunterlädt, ist der Webserver falsch konfiguriert.
Prüfe:
PHP-FPM läuft
Nginx leitet PHP-Dateien korrekt an PHP-FPM weiter
Apache hat PHP-Unterstützung aktiviert
Webserver wurde neu gestartet
Fehler 500 nach PHP-Installation
Ein Fehler 500 bedeutet, dass der Server die Anfrage nicht korrekt verarbeiten konnte.
Prüfe die Logs:
Apache unter Debian/Ubuntu:
/var/log/apache2/error.log
Apache unter AlmaLinux/Rocky Linux:
/var/log/httpd/error_log
Nginx:
/var/log/nginx/error.log
PHP-FPM Logs findest du je nach System unter:
/var/log/php*-fpm.log
oder im Systemjournal:
journalctl -u php*-fpm
Erweiterung fehlt
Wenn eine Anwendung eine fehlende PHP-Erweiterung meldet, installiere das passende Paket.
Beispiel:
Fehlermeldung: Missing PHP extension: curl
Lösung unter Debian/Ubuntu:
apt install php-curl
Danach Webserver oder PHP-FPM neu starten.
Upload ist zu klein
Wenn Uploads abbrechen oder große Dateien nicht hochgeladen werden können, prüfe diese Werte in der php.ini:
upload_max_filesize
post_max_size
Passe beide Werte passend an und starte danach den Webserver oder PHP-FPM neu.
Änderungen an php.ini werden nicht übernommen
Mögliche Ursachen:
falsche
php.inibearbeitetWebserver nicht neu gestartet
PHP-FPM nicht neu gestartet
mehrere PHP-Versionen installiert
Prüfe mit:
php --ini
Bei Webservern kann die verwendete PHP-Konfiguration zusätzlich über eine phpinfo()-Datei geprüft werden.
Sicherheit
Beachte folgende Punkte:
PHP regelmäßig aktualisieren
ungenutzte Erweiterungen entfernen
phpinfo()nach Tests löschenDateirechte korrekt setzen
Webanwendungen aktuell halten
Plugins und Themes regelmäßig aktualisieren
keine unbekannten PHP-Skripte ausführen
Upload-Verzeichnisse absichern
Backups erstellen
Support kontaktieren
Wenn PHP nicht korrekt funktioniert, kontaktiere den Support mit möglichst genauen Angaben.
Hilfreich sind:
Betriebssystem
verwendeter Webserver: Apache oder Nginx
PHP-Version
genaue Fehlermeldung
betroffene Domain oder IP-Adresse
relevante Logauszüge
welche Befehle du bereits ausgeführt hast
Sicherheit: Sende niemals Passwörter, private Schlüssel oder Zugangsdaten an den Support.
Zuletzt aktualisiert