For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Paket
Zweck

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:

Pfad
Verwendung

/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:

Einstellung
Bedeutung

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.ini bearbeitet

  • Webserver 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öschen

  • Dateirechte 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