Wie Sie die PHP-Version in Ihrer Hosting-Umgebung ändern (Vollständiger Leitfaden)
Die Verwaltung Ihrer PHP-Version ist eine der wichtigsten administrativen Aufgaben für jeden Website-Besitzer oder Entwickler. Ob Sie auf die neuesten Leistungsverbesserungen aktualisieren, auf ältere Anwendungskompatibilität herabstufen oder Sicherheitslücken beheben – das genaue Wissen, wie Sie PHP-Versionen in verschiedenen Hosting-Umgebungen wechseln, ist eine unverzichtbare Fähigkeit. Dieser umfassende Leitfaden führt Sie durch jede verfügbare Methode – von cPanels grafischer Benutzeroberfläche bis zu Befehlszeilenwerkzeugen auf VPS Hosting und dedizierten Servern.
Inhaltsverzeichnis
- Warum PHP-Versionsverwaltung wichtig ist
- PHP-Versionen und Kompatibilität verstehen
- Methode 1: PHP-Version über cPanel ändern (MultiPHP Manager)
- Methode 2: PHP-Version über .htaccess ändern (Apache)
- Methode 3: PHP-Version über Befehlszeile ändern (VPS/Dedicated Servers)
- Methode 4: PHP-Version über php.ini ändern
- Überprüfung Ihrer aktiven PHP-Version
- Häufige Fehler nach dem Wechsel der PHP-Version
- Best Practices für die PHP-Versionsverwaltung
- Fazit
1. Warum PHP-Versionsverwaltung wichtig ist {#why-it-matters}
PHP betreibt über 77% aller Websites mit einer bekannten serverseitigen Sprache, einschließlich großer Plattformen wie WordPress, Joomla, Drupal und Magento. Jede große PHP-Version führt erhebliche Änderungen ein:
- Leistungsgewinne: PHP 8.x ist dramatisch schneller als PHP 5.x oder 7.x, dank des JIT-Compilers (Just-In-Time).
- Sicherheits-Patches: Ältere PHP-Versionen erreichen schließlich das Ende der Lebensdauer (EOL) und erhalten keine Sicherheitsupdates mehr, was Ihre Website gefährdet.
- Anwendungskompatibilität: Einige ältere Plugins, Themes oder benutzerdefinierte Anwendungen wurden für spezifische PHP-Versionen geschrieben und können bei neueren Versionen fehlschlagen.
- Hosting-Compliance: Viele Hosting-Anbieter erzwingen Mindestanforderungen für die PHP-Version, um Sicherheitsstandards des Servers zu wahren.
Wenn Sie Ihre PHP-Version nicht proaktiv verwalten, kann dies zu fehlerhafter Funktionalität, Sicherheitsverletzungen oder vollständigen Website-Ausfallzeiten führen. Das Verständnis, wie man diese Einstellung steuert – unabhängig von Ihrem Hosting-Typ – ist für jeden ernsthaften Web-Administrator unverzichtbar.
2. PHP-Versionen und Kompatibilität verstehen {#understanding-versions}
Bevor Sie Änderungen vornehmen, ist es wichtig, den PHP-Veröffentlichungszyklus und die Versionsnummerierung zu verstehen.
PHP-Versionsnummerierung
PHP folgt einem MAJOR.MINOR.PATCH-Versionierungsschema:
| Komponente | Beispiel | Bedeutung |
|---|---|---|
| Major | 8 | Signifikante architektonische Änderungen, mögliche Breaking Changes |
| Minor | 8.2 | Neue Funktionen, rückwärtskompatible Verbesserungen |
| Patch | 8.2.10 | Nur Bugfixes und Sicherheits-Patches |
PHP-Support-Lebenszyklus
Jede PHP-Minor-Version erhält:
- Aktive Unterstützung für etwa 2 Jahre (Bugfixes + Sicherheits-Patches)
- Nur Sicherheits-Unterstützung für ein weiteres Jahr
- Ende der Lebensdauer (EOL), danach werden keine Patches mehr veröffentlicht
Derzeit unterstützte PHP-Versionen (Stand 2024–2025)
| PHP-Version | Status | Hinweise |
|---|---|---|
| PHP 8.3 | Aktive Unterstützung | Neueste stabile Version |
| PHP 8.2 | Aktive Unterstützung | Empfohlen für die meisten Anwendungen |
| PHP 8.1 | Nur Sicherheit | Immer noch weit verbreitet |
| PHP 8.0 | EOL | Vermeiden – keine Sicherheits-Patches |
| PHP 7.4 | EOL | Nur Legacy-Unterstützung |
| PHP 7.3 und älter | EOL | Stark abgeraten |
> Faustregel: Führen Sie immer die höchste PHP-Version aus, die Ihre Anwendung offiziell unterstützt. Wenn Ihr CMS oder Framework PHP 8.2 unterstützt, gibt es keinen Grund, PHP 7.4 auszuführen.
3. Methode 1: PHP-Version über cPanel ändern (MultiPHP Manager) {#cpanel-method}
cPanel ist das am weitesten verbreitete Hosting-Kontrollpanel und bietet zwei integrierte Tools für die PHP-Versionsverwaltung: MultiPHP Manager (serverübergreifend oder pro Domain) und MultiPHP INI Editor (zur Feinabstimmung von PHP-Einstellungen). Wenn Sie ein VPS mit cPanel verwenden, sind beide Tools für Sie verfügbar.
Schritt 1: Melden Sie sich bei cPanel an
- Öffnen Sie Ihren Browser und navigieren Sie zu Ihrer cPanel-Anmelde-URL:
https://yourdomain.com:2083 (sicher, empfohlen)
https://yourdomain.com/cpanelhttps://your-server-ip:2083- Geben Sie Ihren cPanel-Benutzernamen und Passwort ein.
- Klicken Sie auf Anmelden.
Schritt 2: Öffnen Sie MultiPHP Manager
- Scrollen Sie im cPanel-Dashboard zum Bereich Software.
- Klicken Sie auf MultiPHP Manager.
> Alternative: Einige cPanel-Setups bezeichnen dies als PHP-Version auswählen, PHP-Konfiguration oder PHP-Selector (letzteres ist bei CloudLinux-basierten Shared-Hosting häufig). Die Benutzeroberfläche kann leicht unterschiedlich sein, aber der Prozess ist derselbe.
Schritt 3: Wählen Sie Ihre Domain und PHP-Version
In der MultiPHP Manager-Benutzeroberfläche:
- Sie sehen eine Liste aller Domains und Subdomains, die auf Ihrem Konto gehostet werden.
- Aktivieren Sie das Kontrollkästchen neben der Domain, die Sie ändern möchten.
- Wählen Sie aus dem Dropdown PHP-Version oben auf der Seite Ihre gewünschte PHP-Version (z. B.
PHP 8.2). - Klicken Sie auf Anwenden.
> Wichtig: Wenn Sie ein Shared-Hosting-Konto haben, werden die verfügbaren PHP-Versionen von Ihrem Hosting-Anbieter bestimmt. Wenn Sie eine Version benötigen, die nicht aufgelistet ist, kontaktieren Sie das Support-Team Ihres Hosts oder erwägen Sie ein Upgrade auf einen VPS Hosting-Plan, bei dem Sie vollständige Kontrolle über installierte PHP-Versionen haben.
Schritt 4: (Optional) Passen Sie PHP-Einstellungen über MultiPHP INI Editor an
Nach dem Wechsel der Version müssen Sie möglicherweise PHP-Konfigurationswerte anpassen:
- Kehren Sie zum Bereich Software in cPanel zurück.
- Klicken Sie auf MultiPHP INI Editor.
- Wählen Sie Ihre Domain aus dem Dropdown.
- Ändern Sie Werte wie:
memory_limit (z. B. 256M)
upload_max_filesize (z. B. 64M)
max_execution_time (z. B. 300)
post_max_size (z. B. 64M)
Klicken Sie auf Anwenden, um die Änderungen zu speichern.
Schritt 5: Überprüfen Sie die Änderung
Erstellen Sie eine Testdatei, um die aktive PHP-Version zu bestätigen (siehe Abschnitt 7 für vollständige Anweisungen).
4. Methode 2: PHP-Version über .htaccess ändern (Apache) {#htaccess-method}
Wenn Ihre Hosting-Umgebung Apache ausführt, aber keinen grafischen PHP-Selector bietet, können Sie die PHP-Version direkt über Ihre .htaccess-Datei steuern. Diese Methode ist besonders nützlich auf Shared Web Hosting-Plänen, bei denen der Serverzugriff eingeschränkt ist.
Funktionsweise
Apache verwendet Handler, um zu bestimmen, wie .php-Dateien verarbeitet werden. Durch die Angabe eines benutzerdefinierten Handlers in .htaccess weisen Sie Apache an, eine bestimmte PHP-Version für Ihre Website zu verwenden.
Schritt 1: Greifen Sie auf Ihre .htaccess-Datei zu
Sie können .htaccess über folgende Methoden bearbeiten:
cPanel File Manager: Navigieren Sie zu public_html, suchen Sie .htaccess, klicken Sie mit der rechten Maustaste und wählen Sie Bearbeiten.
FTP/SFTP-Client: Verbinden Sie sich mit Ihrem Server und navigieren Sie zu Ihrem Web-Root (normalerweise public_html oder www).
SSH-Befehlszeile: nano /home/username/public_html/.htaccess> Hinweis: .htaccess ist eine versteckte Datei. Aktivieren Sie in Ihrem FTP-Client „Versteckte Dateien anzeigen”. Im cPanel File Manager aktivieren Sie „Versteckte Dateien (Dotfiles) anzeigen” in den Einstellungen oben rechts.
Schritt 2: Fügen Sie die PHP-Handler-Direktive hinzu
Fügen Sie eine der folgenden Zeilen zu Ihrer .htaccess-Datei hinzu, je nach Namenskonvention des PHP-Handlers Ihres Servers:
Für PHP 8.2:
AddHandler application/x-httpd-php82 .phpFür PHP 8.1:
AddHandler application/x-httpd-php81 .phpFür PHP 7.4 (Legacy):
AddHandler application/x-httpd-php74 .phpAlternative Syntax (auf einigen Hosts verwendet):
# Using suPHP or FastCGI
Action php-cgi /cgi-bin/php82
AddHandler php-cgi .php> Wichtig: Der genaue Handler-Name (x-httpd-php82, x-httpd-php81, usw.) hängt davon ab, wie Ihr Hosting-Anbieter PHP auf seinen Servern konfiguriert hat. Wenn das Obige nicht funktioniert, überprüfen Sie die Dokumentation Ihres Hosts oder kontaktieren Sie den Support für die korrekten Handler-Namen.
Schritt 3: Speichern und testen
Speichern Sie die .htaccess-Datei und testen Sie Ihre Website. Wenn Sie einen 500 Internal Server Error sehen, ist der Handler-Name wahrscheinlich falsch – entfernen Sie die Zeile und versuchen Sie eine alternative Syntax.
5. Methode 3: PHP-Version über Befehlszeile ändern (VPS/Dedicated Servers) {#cli-method}
Wenn Sie Ihre eigenen Dedicated Servers oder einen VPS mit Root-Zugriff verwalten, haben Sie vollständige Kontrolle über die PHP-Installation und den Versionswechsel. Dies ist die leistungsstärkste und flexibelste Methode.
Voraussetzungen
- Root- oder Sudo-Zugriff auf Ihren Server
- SSH-Client (Terminal auf macOS/Linux, PuTTY oder Windows Terminal auf Windows)
- Grundlegende Vertrautheit mit Linux-Befehlszeilenvorgängen
Ubuntu / Debian – Verwendung von update-alternatives
Ubuntu- und Debian-basierte Systeme verwenden das update-alternatives-System, um mehrere PHP-Versionen gleichzeitig zu verwalten.
#### Schritt 1: Fügen Sie das Ondřej Surý PHP Repository hinzu
Dieses PPA bietet mehrere PHP-Versionen für Ubuntu/Debian:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update#### Schritt 2: Installieren Sie die gewünschte PHP-Version
# Install PHP 8.2 and common extensions
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl
php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
# Install PHP 8.1 if needed
sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql#### Schritt 3: Wechseln Sie die Standard-PHP-Version (CLI)
# View all registered PHP alternatives
sudo update-alternatives --list php
# Switch to PHP 8.2
sudo update-alternatives --set php /usr/bin/php8.2
# Or use the interactive selector
sudo update-alternatives --config phpDer interaktive Selector zeigt etwa folgendes an:
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
3 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:Geben Sie die Nummer ein, die Ihrer gewünschten Version entspricht, und drücken Sie die Eingabetaste.
#### Schritt 4: Wechseln Sie die PHP-Version für Apache (mod_php)
# Disable current PHP module (e.g., PHP 8.1)
sudo a2dismod php8.1
# Enable new PHP module (e.g., PHP 8.2)
sudo a2enmod php8.2
# Restart Apache
sudo systemctl restart apache2#### Schritt 5: Wechseln Sie die PHP-Version für Nginx (PHP-FPM)
Für Nginx wird PHP über PHP-FPM verwaltet. Aktualisieren Sie Ihren Nginx-Serverblock, um auf den korrekten FPM-Socket zu verweisen:
# In your Nginx server block configuration
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}Starten Sie dann sowohl PHP-FPM als auch Nginx neu:
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxCentOS / RHEL / AlmaLinux / Rocky Linux – Verwendung von SCL oder Remi Repository
#### Option A: Verwendung von Software Collections (SCL) – CentOS 7
# Install the SCL repository
sudo yum install -y centos-release-scl
# Install PHP 7.4 via SCL
sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
# Enable PHP 7.4 for the current session
sudo scl enable rh-php74 bash
# Verify
php --version> Hinweis: SCL-Änderungen sind sitzungsspezifisch. Um sie dauerhaft für einen Benutzer zu machen, fügen Sie source /opt/rh/rh-php74/enable zu ~/.bashrc hinzu.
#### Option B: Verwendung von Remi Repository – CentOS 7/8, AlmaLinux, Rocky Linux
# Install EPEL and Remi repositories
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm # For RHEL 8/AlmaLinux 8
# List available PHP streams
sudo dnf module list php
# Reset current PHP module
sudo dnf module reset php
# Enable PHP 8.2 stream
sudo dnf module enable php:remi-8.2
# Install PHP 8.2
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
# Verify
php --versionWechsel von PHP für einzelne Websites (Pro-Website-PHP-Version)
Auf Servern, die mehrere Websites ausführen, benötigen Sie oft unterschiedliche PHP-Versionen pro Website. Der sauberste Ansatz ist das Ausführen mehrerer PHP-FPM-Pools:
# Start PHP-FPM for multiple versions
sudo systemctl start php7.4-fpm
sudo systemctl start php8.1-fpm
sudo systemctl start php8.2-fpmKonfigurieren Sie dann jeden Nginx-Virtual-Host, um einen anderen FPM-Socket zu verwenden:
# Site A — PHP 8.2
server {
server_name site-a.com;
root /var/www/site-a;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
# Site B — PHP 7.4 (legacy application)
server {
server_name site-b.com;
root /var/www/site-b;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}6. Methode 4: PHP-Version über php.ini ändern {#phpini-method}
In einigen Hosting-Umgebungen, besonders bei Verwendung von CGI– oder FastCGI-PHP-Handlern, können Sie das PHP-Verhalten – und manchmal sogar die Version – durch eine benutzerdefinierte php.ini-Datei beeinflussen, die in Ihrem Website-Root-Verzeichnis platziert wird.
Erstellen Sie eine benutzerdefinierte php.ini
- Erstellen Sie eine Datei namens
php.iniin Ihrem Website-Root-Verzeichnis (public_html). - Fügen Sie Ihre Konfigurationsdirektiven hinzu:
; Custom PHP configuration
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
date.timezone = "UTC"> Hinweis: Diese Methode steuert PHP-*Einstellungen*, nicht unbedingt die PHP-*Version* selbst. Die Versionswahl über php.ini ist nur auf bestimmten Hosting-Setups möglich. Für vollständige Versionskontrolle verwenden Sie cPanel, .htaccess oder die oben beschriebenen Befehlszeilenmethoden.
7. Überprüfung Ihrer aktiven PHP-Version {#verify}
Überprüfen Sie nach jeder Änderung immer, dass die richtige PHP-Version aktiv ist. Es gibt mehrere Möglichkeiten, dies zu tun:
Methode A: Erstellen Sie eine phpinfo()-Testseite
- Erstellen Sie eine neue Datei namens
phpinfo.phpin Ihrem Web-Root-Verzeichnis (public_html). - Fügen Sie den folgenden Inhalt hinzu:
<?php
phpinfo();
?>- Navigieren Sie zu
https://yourdomain.com/phpinfo.phpin Ihrem Browser. - Die Seite zeigt umfassende PHP-Konfigurationsinformationen. Die PHP-Version wird ganz oben angezeigt.
> Sicherheitswarnung: Löschen Sie diese Datei sofort nach dem Testen. Die phpinfo()-Ausgabe enthüllt sensible Serverkonfigurationsdetails, die Angreifer unterstützen könnten.
Methode B: Überprüfung über Befehlszeile (SSH)
php --version
# or
php -vErwartete Ausgabe:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:12:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend TechnologiesMethode C: Überprüfung über ein einfaches PHP-Skript
Für eine weniger ausführliche Überprüfung verwenden Sie dieses minimale Skript statt des vollständigen phpinfo():
<?php
echo 'PHP Version: ' . PHP_VERSION;
echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
?>Methode D: Überprüfung über WordPress Admin (für WordPress-Websites)
In Ihrem WordPress-Dashboard:
- Gehen Sie zu Tools → Site Health.
- Klicken Sie auf die Registerkarte Info.
- Erweitern Sie den Bereich Server.
- Suchen Sie nach PHP-Version.
8. Häufige Fehler nach dem Wechsel der PHP-Version {#common-errors}
Der Wechsel der PHP-Version kann manchmal Probleme verursachen. Hier sind die häufigsten Probleme und deren Lösungen:
Fehler 1: White Screen of Death (WSOD) oder leere Seite
Ursache: Ein Plugin, Theme oder benutzerdefinierter Code verwendet Syntax oder Funktionen, die mit der neuen PHP-Version nicht kompatibel sind.
Lösung:
- Aktivieren Sie den WordPress-Debug-Modus, indem Sie zu
wp-config.phphinzufügen:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);- Überprüfen Sie
/wp-content/debug.logauf spezifische Fehlermeldungen. - Deaktivieren Sie alle Plugins und wechseln Sie zu einem Standard-Theme, um das Problem zu isolieren.
Fehler 2: 500 Internal Server Error
Ursache: Oft verursacht durch einen falschen PHP-Handler in .htaccess oder eine PHP-Erweiterung, die für die neue Version nicht installiert ist.
Lösung:
- Entfernen oder korrigieren Sie die
AddHandler-Direktive in.htaccess. - Überprüfen Sie das Fehlerprotokoll Ihres Servers:
tail -f /var/log/apache2/error.logodertail -f /var/log/nginx/error.log. - Stellen Sie sicher, dass erforderliche PHP-Erweiterungen für die neue Version installiert sind.
Fehler 3: „Call to undefined function” oder „Class not found”
Ursache: Eine PHP-Erweiterung, die von Ihrer Anwendung benötigt wird (z. B. php-gd, php-mbstring, php-xml), ist nicht für die neue PHP-Version installiert.
Lösung:
# Ubuntu/Debian — install missing extensions for PHP 8.2
sudo apt install php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
# Restart web server
sudo systemctl restart apache2 # or nginxFehler 4: Veraltete Funktionswarnungen
Ursache: Ihr Code verwendet Funktionen, die in älteren PHP-Versionen veraltet waren und in neueren entfernt wurden (z. B. mysql_*-Funktionen, die in PHP 7.0 entfernt wurden).
Lösung:
- Aktualisieren Sie Ihren Code oder Plugins, um moderne Äquivalente zu verwenden (z. B.
mysqli_*oder PDO). - Wenn sofortige Codeänderungen nicht möglich sind, erwägen Sie, vorübergehend auf einer kompatiblen PHP-Version zu bleiben, während Sie das Upgrade planen.
Fehler 5: PHP-Version ändert sich nicht, obwohl die Schritte befolgt wurden
Ursache: Mehrere PHP-Konfigurationen können wirksam sein (z. B. CLI vs. Webserver), oder Caching bedient alte Antworten.
Lösung:
- Löschen Sie Ihren Browser-Cache und alle serverseitigen Caches (OPcache, Redis, Varnish).
- Starten Sie Ihren Webserver neu: ###PPT_NO
