Signatur
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
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.";
}
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.";
}
// 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.