Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Unterstützte PHP-Versionen: 7.4 bis 8.5

Welche PHP-Versionen Exponential 6 unterstützt und wie jede getestet wird - PHP 7.4 als älteste (8.0 als älteste unterstützte, 7.4 ohne Support nutzbar), 8.5 als neueste, die Einschränkung in composer.json, die CI-Jobs…

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/help/php-developers/supported-php-versions.md

On this page

This page is a translation. Read the English original

Unterstützte PHP-Versionen: 7.4 bis 8.5

Unterstützt: PHP 8.0 bis 8.5. Ohne Support nutzbar: PHP 7.4 (Exponential 6.0.15 und neuer). Warum Exponential PHP 7.4 unterstützt

Diese Seite richtet sich an PHP-Entwickler, die wissen müssen, unter welchen PHP-Versionen ihr Code laufen muss. Exponential 6 läuft unter PHP 8.0 bis 8.5 (PHP 7.4 ohne Support nutzbar). Die älteste Version bestimmt, welche Syntax und welche Funktionen Sie verwenden dürfen; die neueste bestimmt, welche Deprecations Sie vermeiden müssen.

Inhalt

  1. Der Bereich
  2. PHP 8.0 unterstützt, PHP 7.4 ohne Support nutzbar
  3. Wie jede Version getestet wird
  4. Was unter PHP 8.0 anders ist
  5. Die Geschichte der Anforderung
  6. Was Sie in Ihrer Erweiterung angeben

Der Bereich

composer.json gibt an:

"php": "^7.4 || ^8.0 || ^8.1 || ^8.2 || ^8.3 || ^8.4 || ^8.5 || ^8.6 || ^8.7 || ^8.8"

Die Bereiche für 8.6 bis 8.8 sind vorausschauend; diese Versionen gibt es noch nicht, und sie werden nicht getestet (PHP-, PHP-FIG- und Composer-Standards). Die benötigten PHP-Erweiterungen sind dom, libxml, mbstring, pcre, json, iconv, reflection, session, spl und simplexml; Datenbank- und Bilderweiterungen stehen unter suggest.

Exponential Velocity, der Anwendungsserver, läuft ab seinem Release 0.0.4.54 unter PHP 8.0 bis 8.5 (Velocity ist Teil von Exponential 6.0.15). Der Kernel verlangt ihn zusammen mit den anderen Paketen, die PHP 8 brauchen, über das Metapaket se7enxweb/exponential-php-floor, dessen Version für PHP 7.4 sie auslässt (Warum Exponential PHP 7.4 unterstützt).

PHP 8.0 unterstützt, PHP 7.4 ohne Support nutzbar

PHP 7.4 wird ab 6.0.15 für Organisationen unterstützt, die das PHP ihrer Server noch nicht ändern können: Hosting-Verträge, zertifizierte Images, Betriebssystem-Releases mit langer Laufzeit. PHP 8.0 ist wichtig, weil es das Standard-PHP von Red Hat Enterprise Linux 9, AlmaLinux 9 und Rocky Linux 9 ist, sodass eine Site auf diesen Systemen keine PHP-Pakete von Drittanbietern braucht. Die Gründe und die Kompromisse stehen in Warum Exponential PHP 7.4 unterstützt.

Der Preis für Entwickler ist eine Regel: keine Syntax und keine ungeschützten Funktionen im Kernel, die neuer als 7.4 sind. Das heißt: keine Union Types, kein Nullsafe-Operator, kein match, keine benannten Argumente, keine Constructor Promotion, kein mixed, keine Rückgabetypen static, keine Enums und kein readonly; typisierte Eigenschaften und Arrow Functions sind erlaubt. Funktionen aus PHP 8.0 und 8.1 wie str_contains() dürfen verwendet werden, weil symfony/polyfill-php80 und symfony/polyfill-php81 sie unter 7.4 definieren (Code schreiben, der unter PHP 8.0 läuft nennt den Rest). make lint74 prüft die geänderten Dateien, make lint74-all jede Datei.

Wie jede Version getestet wird

PrüfungPHPWo
Syntax jeder PHP-Datei, produktives composer install --no-dev, Boot-Smoke-Test (tests/bin/bootsmoke.php)7.4quality.yml, Job php74
Syntax jeder PHP-Datei, produktives composer install --no-dev, Boot-Smoke-Test (tests/bin/bootsmoke.php)8.0quality.yml, Job php80
PHPCompatibility mit testVersion 8.0-statischphpcs.xml.dist (eine Warnung in der CI)
PHP-Syntax geänderter Dateien8.3quality.yml
PHPUnit ohne Datenbank8.1, 8.2, 8.3, 8.4, 8.5phpunit.yml, mit PHPUnit 10.5 unter 8.1, 11.5 unter 8.2 und 8.3, 13 unter 8.4 und 8.5
PHPUnit mit MySQL 8.0 und PostgreSQL 158.3phpunit.yml, Datenbanktests
PHPStan (Analyse als phpVersion: 80100)8.3quality.yml
Mikro-Benchmark8.5performance.yml

PHPUnit läuft nicht unter PHP 8.0, weil PHPUnit 10 und neuer 8.1 brauchen. Unter 8.0 ist der Code nur durch Syntax, Installation und Boot abgedeckt, weshalb die Regeln für 8.0 im Review so wichtig sind (CI und das Nachstellen einer roten Prüfung).

Was unter PHP 8.0 anders ist

Der Kernel verhält sich unter jeder Version gleich; einige Funktionen brauchen ein neueres PHP und greifen still auf einen Ersatz zurück:

FunktionUnter PHP 8.0
array_is_list()definiert in lib/phpcompat.php
fputcsv() mit $eolohne $eol geschrieben, Zeilenenden werden danach ersetzt
fsync()hinter function_exists(); die Daten werden mit fflush() geschrieben
memory_reset_peak_usage()hinter function_exists()
str_increment(), str_decrement() (8.3)die String-Operatoren geben ihre Eingabe zurück
hash( 'xxh128' )der SQL-Abfrage-Cache verwendet md5
AVIF-Bildausgabe unter Velocitybraucht 8.1; die Aushandlung endet bei WebP

Die vollständige Tabelle mit den Dateien finden Sie unter Unterstützung für PHP 8.0.

Die Geschichte der Anforderung

ReleaseAnforderung
bis 6.0.7PHP 7.4 und 8.1
6.0.8 (April 2025)Composer verlangt PHP 8.1 oder neuer; erste Unterstützung für 8.4
6.0.11 (Dezember 2025)Unterstützung für PHP 8.5
6.0.15PHP 8.0 wieder unterstützt, in der CI geprüft; dann PHP 7.4 wieder nutzbar, ohne Support, mit dem Metapaket se7enxweb/exponential-php-floor und einem CI-Job php74

Jeder Schritt ist unter Unterstützung für PHP 8 aufgeführt.

Was Sie in Ihrer Erweiterung angeben

  • Geben Sie in der composer.json Ihrer Erweiterung "php": "^7.4 || ^8.0" (oder eine Liste wie die des Kernels) an, sofern Ihre Erweiterung nicht wirklich mehr braucht; "php": "^8.0" ist die nächste Wahl. Ein höheres Minimum blockiert die Installation mit dem Standard-PHP von RHEL 9, und die CI-Jobs php74 und php80 des Kernels schlagen fehl, wenn ein Paket, das der Kernel direkt verlangt, sein Minimum über ihres anhebt. Ein Paket, das PHP 8 brauchen muss, gehört in die passenden Versionen von se7enxweb/exponential-php-floor, nicht in das require des Kernels.
  • Wenn Sie eine neuere PHP-Funktion brauchen, sichern Sie sie so ab wie der Kernel, statt das Minimum anzuheben.
  • Testen Sie unter der ältesten und der neuesten Version, die Sie angeben.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x