Start · Sprachen · PHP · Referenz · getmygid

getmygid

Funktion

Gibt die GID (Gruppen-ID) des Besitzers des aktuell ausgeführten PHP-Skripts zurück.

seit PHP 4.1.0 Kategorie: misc

Signatur

getmygid(): int|false

Beschreibung

getmygid() liefert die numerische Gruppen-ID (GID) des Dateisystem-Besitzers des aktuell ausgeführten PHP-Skripts. Diese Funktion ist nützlich, wenn ein Skript wissen muss, unter welcher Gruppe es auf dem Server betrieben wird – etwa bei Berechtigungsprüfungen oder Diagnosezwecken.

Typischerweise entspricht die zurückgegebene GID der Gruppe des Webserver-Prozesses (z. B. www-data oder apache), sofern das Skript diesem Benutzer gehört. Die GID ist eine systemweite Kennung und kann über /etc/group oder entsprechende Systemaufrufe einem Gruppennamen zugeordnet werden.

Die Funktion ist ausschließlich unter Unix-ähnlichen Betriebssystemen (Linux, macOS usw.) sinnvoll einsetzbar. Unter Windows ist das Konzept einer GID nicht nativ vorhanden, weshalb die Funktion dort false zurückgeben kann.

Rückgabewert

Typ
int|false
Beschreibung
Gibt die GID als nicht-negative Ganzzahl zurück. Bei einem Fehler oder wenn die GID nicht ermittelt werden kann (z. B. unter Windows), wird false zurückgegeben.

Beispiele

GID des Skript-Besitzers ausgeben

<?php
$gid = getmygid();
if ($gid !== false) {
    echo "Die GID des Skript-Besitzers lautet: " . $gid;
} else {
    echo "GID konnte nicht ermittelt werden.";
}
Die GID des Skript-Besitzers lautet: 33

GID mit POSIX-Gruppenname verknüpfen

<?php
$gid = getmygid();
if ($gid !== false && function_exists('posix_getgrgid')) {
    $groupInfo = posix_getgrgid($gid);
    if ($groupInfo !== false) {
        echo "Gruppen-ID: " . $gid . PHP_EOL;
        echo "Gruppenname: " . $groupInfo['name'] . PHP_EOL;
    } else {
        echo "Keine Gruppeninformation gefunden.";
    }
} else {
    echo "GID nicht verfügbar oder POSIX-Erweiterung fehlt.";
}
Gruppen-ID: 33 Gruppenname: www-data

// Wichtig · Fallstricke

Plattformabhängigkeit: Die Funktion ist primär für Unix-basierte Systeme konzipiert. Unter Windows liefert sie zuverlässig false, da dort das Unix-Gruppenkonzept nicht gilt.

Sicherheitshinweis: Die zurückgegebene GID sollte nicht als alleinige Sicherheitsprüfung verwendet werden. Berechtigungskontrollen sollten stets serverseitig über das Betriebssystem und den Webserver selbst abgesichert werden.

Für die Ermittlung der GID des laufenden Prozesses (statt des Dateibesitzers) kann die POSIX-Funktion posix_getgid() genutzt werden.