Start · Sprachen · PHP · Referenz · phpversion

phpversion

Funktion

Gibt die aktuelle PHP-Version oder die Version einer installierten Erweiterung als Zeichenkette zurück.

seit PHP 4.0.0 Kategorie: misc

Signatur

phpversion(string $extension = ""): string|false

Beschreibung

phpversion() liefert die Versionsnummer des laufenden PHP-Interpreters, z. B. "8.2.10". Wird ein Erweiterungsname als Parameter übergeben, gibt die Funktion stattdessen die Version dieser Erweiterung zurück – sofern sie geladen ist und Versionsinformationen bereitstellt.

Die Funktion ist besonders nützlich, um zur Laufzeit auf PHP-Versionsabhängigkeiten zu prüfen oder Debug-Ausgaben mit Versionsangaben anzureichern. Für programmatische Vergleiche empfiehlt sich die Kombination mit version_compare(), um semantische Versionsnummern korrekt zu vergleichen.

Die Konstante PHP_VERSION enthält dieselbe Information wie ein Aufruf ohne Argument und ist in Kontexten, in denen kein Funktionsaufruf möglich ist (z. B. Attribut-Argumente), vorzuziehen. Darüber hinaus stehen PHP_MAJOR_VERSION, PHP_MINOR_VERSION und PHP_RELEASE_VERSION für einzelne Versionsbestandteile bereit.

Gibt die Erweiterung keine Versionsinformation bekannt oder ist sie nicht geladen, liefert phpversion() den Wert false.

Parameter

Name Typ Default Beschreibung
$extension string "" Optionaler Name einer PHP-Erweiterung (z. B. "curl", "openssl"). Wird kein Argument übergeben oder eine leere Zeichenkette, gibt die Funktion die PHP-Kernversion zurück.

Rückgabewert

Typ
string|false
Beschreibung
Gibt die Versionsnummer als Zeichenkette zurück. Ohne Argument ist das die PHP-Version (identisch mit PHP_VERSION). Bei Angabe eines Erweiterungsnamens wird die Version dieser Erweiterung zurückgegeben. Ist die Erweiterung nicht geladen oder stellt sie keine Version bereit, wird false zurückgegeben.

Beispiele

PHP-Kernversion ermitteln und ausgeben

<?php
$version = phpversion();
echo "Aktuelle PHP-Version: " . $version . PHP_EOL;

// Mindestversion sicherstellen
if (version_compare($version, '8.1.0', '<')) {
    die('Dieses Skript benötigt mindestens PHP 8.1.');
}
echo "Versionsanforderung erfüllt." . PHP_EOL;
Aktuelle PHP-Version: 8.2.10 Versionsanforderung erfüllt.

Version einer installierten Erweiterung abfragen

<?php
$extensions = ['curl', 'openssl', 'mbstring', 'imagick'];

foreach ($extensions as $ext) {
    $v = phpversion($ext);
    if ($v !== false) {
        echo sprintf("%-12s => %s\n", $ext, $v);
    } else {
        echo sprintf("%-12s => nicht geladen oder keine Version\n", $ext);
    }
}
curl => 7.88.1 openssl => 1.1.1t mbstring => 8.2.10 imagick => nicht geladen oder keine Version

// Wichtig · Fallstricke

Die Konstante PHP_VERSION ist für einfache Vergleiche oft die bessere Wahl, da kein Funktionsaufruf-Overhead entsteht. Für verlässliche Versionsvergleiche sollte stets version_compare() verwendet werden, da einfache String-Vergleiche bei Versionsnummern zu falschen Ergebnissen führen können (z. B. "10.0" < "9.0" bei lexikalischem Vergleich).

Gibt phpversion('erweiterung') den Wert false zurück, bedeutet das nicht zwingend, dass die Erweiterung fehlt – sie könnte schlicht keine Versionsinformation registrieren. Mit extension_loaded() lässt sich die Verfügbarkeit einer Erweiterung zuverlässiger prüfen.