Start · Sprachen · PHP · Referenz · wincache_rplist_meminfo

wincache_rplist_meminfo

Funktion

Ruft Informationen zur Speichernutzung des Resolve-File-Path-Cache (rplist) von WinCache ab.

seit PHP 1.1.0 Kategorie: misc

Signatur

wincache_rplist_meminfo(): array|false

Beschreibung

wincache_rplist_meminfo() gibt ein assoziatives Array zurück, das detaillierte Informationen über die Speichernutzung des sogenannten Resolve-File-Path-Cache (rplist) von WinCache enthält. Dieser Cache speichert aufgelöste Dateipfade, um wiederholte Dateisystemzugriffe beim Einbinden von PHP-Dateien zu vermeiden.

Die zurückgegebenen Daten umfassen unter anderem die Gesamtgröße des für den rplist-Cache reservierten Speichers, die aktuell genutzte Speichermenge sowie die Anzahl freier Speichersegmente. Diese Informationen sind besonders nützlich für die Diagnose und das Monitoring des WinCache-Verhaltens in produktiven Windows-IIS-Umgebungen.

Die Funktion ist ausschließlich auf Windows-Systemen mit installierter und aktivierter WinCache-Erweiterung verfügbar. Sie eignet sich gut für Administratoren und Entwickler, die die Effizienz des PHP-Caches überwachen oder Flaschenhälse im Dateipfad-Caching identifizieren möchten.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein assoziatives Array mit Speicherinformationen zum rplist-Cache zurück. Im Fehlerfall (z. B. WinCache nicht verfügbar oder nicht aktiv) wird false zurückgegeben. Das Array enthält typischerweise folgende Schlüssel:
  • memory_total – Gesamter reservierter Speicher in Bytes
  • memory_free – Freier Speicher in Bytes
  • num_used_blks – Anzahl genutzter Speicherblöcke
  • num_free_blks – Anzahl freier Speicherblöcke
  • memory_overhead – Verwaltungsoverhead in Bytes

Beispiele

Speicherinformationen des rplist-Cache ausgeben

<?php
$meminfo = wincache_rplist_meminfo();

if ($meminfo === false) {
    echo 'WinCache ist nicht verfügbar oder nicht aktiv.';
} else {
    echo '<h2>WinCache rplist Speicherinfo</h2>';
    echo '<ul>';
    foreach ($meminfo as $key => $value) {
        echo '<li><strong>' . htmlspecialchars($key) . '</strong>: ' . $value . '</li>';
    }
    echo '</ul>';
}
WinCache rplist Speicherinfo - memory_total: 5242880 - memory_free: 4980736 - num_used_blks: 12 - num_free_blks: 3 - memory_overhead: 32768

Speicherauslastung in Prozent berechnen

<?php
$meminfo = wincache_rplist_meminfo();

if (is_array($meminfo) && $meminfo['memory_total'] > 0) {
    $used = $meminfo['memory_total'] - $meminfo['memory_free'];
    $percent = round(($used / $meminfo['memory_total']) * 100, 2);

    echo sprintf(
        'rplist-Cache: %d von %d Bytes genutzt (%.2f %%)',
        $used,
        $meminfo['memory_total'],
        $percent
    );
} else {
    echo 'Keine rplist-Speicherinformationen verfügbar.';
}
rplist-Cache: 262144 von 5242880 Bytes genutzt (5.00 %)

// Wichtig · Fallstricke

Plattformabhängigkeit: Diese Funktion ist ausschließlich unter Windows verfügbar und erfordert die installierte und aktivierte WinCache-PHP-Erweiterung (php_wincache.dll). Auf Linux- oder macOS-Systemen ist sie nicht vorhanden.

Deprecation: WinCache wird seit PHP 8.0 nicht mehr aktiv weiterentwickelt und gilt als weitgehend veraltet. Für moderne Umgebungen sollten Alternativen wie OPcache in Betracht gezogen werden.

Die genauen Schlüssel des zurückgegebenen Arrays können je nach WinCache-Version leicht variieren. Es empfiehlt sich, die Rückgabe mit var_dump() oder print_r() zu inspizieren.