Start · Sprachen · PHP · Referenz · wincache_scache_info

wincache_scache_info

Funktion

Ruft Informationen über die im WinCache-Session-Cache gespeicherten Einträge ab.

seit PHP 1.1.0 Kategorie: misc

Signatur

wincache_scache_info(bool $summaryonly = false): array|false

Beschreibung

wincache_scache_info() gibt ein assoziatives Array zurück, das Details über den WinCache-Session-Cache enthält. Dies umfasst Metadaten zu allen im Cache befindlichen Session-Einträgen, wie z. B. Schlüssel, Größe, Lebensdauer und Trefferzahlen.

Die Funktion ist ausschließlich unter Windows verfügbar und setzt die WinCache-Erweiterung voraus. Sie eignet sich besonders zur Überwachung und Diagnose von PHP-Anwendungen, die WinCache als Session-Handler nutzen, zum Beispiel um Cache-Auslastung, Treffer-/Fehlschlagquoten und gespeicherte Datenmengen zu analysieren.

Wird der Parameter summaryonly auf true gesetzt, enthält die Rückgabe nur zusammenfassende Statistiken ohne die detaillierten Einzel-Einträge. Dies ist sinnvoll, wenn nur Performance-Kennzahlen, aber keine vollständige Inventarliste benötigt wird.

Die zurückgegebenen Informationen können gut in eigene Monitoring-Dashboards oder administrative Oberflächen integriert werden, um den Zustand des Caches transparent zu machen.

Parameter

Name Typ Default Beschreibung
$summaryonly bool false Wenn true, enthält die Rückgabe nur zusammenfassende Statistiken ohne die Liste der einzelnen Cache-Einträge. Standard ist false.

Rückgabewert

Typ
array|false
Beschreibung
Gibt bei Erfolg ein assoziatives Array mit Cache-Informationen zurück. Das Array enthält u. a. die Schlüssel scache_numentries (Anzahl der Einträge), scache_numhits (Treffer), scache_nummisses (Fehlschläge), scache_memsize (belegter Speicher in Bytes) sowie — sofern summaryonly nicht gesetzt ist — ein Unter-Array scache_entries mit Details zu jedem Eintrag. Gibt false zurück, wenn die WinCache-Erweiterung nicht verfügbar oder der Cache nicht aktiv ist.

Beispiele

Alle Session-Cache-Einträge anzeigen

<?php
$info = wincache_scache_info();
if ($info !== false) {
    echo 'Anzahl der Cache-Einträge: ' . $info['scache_numentries'] . PHP_EOL;
    echo 'Cache-Treffer: '           . $info['scache_numhits']    . PHP_EOL;
    echo 'Cache-Fehlschläge: '       . $info['scache_nummisses']  . PHP_EOL;
    echo 'Belegter Speicher (Bytes): '. $info['scache_memsize']   . PHP_EOL;

    if (!empty($info['scache_entries'])) {
        foreach ($info['scache_entries'] as $entry) {
            echo 'Schlüssel: ' . $entry['key_name']
               . ', Größe: '  . $entry['value_size'] . ' Bytes'
               . ', TTL: '    . $entry['ttl_seconds'] . 's' . PHP_EOL;
        }
    }
} else {
    echo 'WinCache-Session-Cache nicht verfügbar.';
}
Anzahl der Cache-Einträge: 3 Cache-Treffer: 47 Cache-Fehlschläge: 5 Belegter Speicher (Bytes): 8192 Schlüssel: abc123, Größe: 256 Bytes, TTL: 1440s ...

Nur zusammenfassende Statistiken abrufen

<?php
$summary = wincache_scache_info(true);
if ($summary !== false) {
    echo 'Einträge im Session-Cache: ' . $summary['scache_numentries'] . PHP_EOL;
    echo 'Trefferquote: '
        . round(
            $summary['scache_numhits']
            / max(1, $summary['scache_numhits'] + $summary['scache_nummisses'])
            * 100,
            2
          )
        . '%' . PHP_EOL;
} else {
    echo 'WinCache nicht verfügbar.';
}
Einträge im Session-Cache: 3 Trefferquote: 90.38%

// Wichtig · Fallstricke

Nur unter Windows verfügbar: Die WinCache-Erweiterung ist ausschließlich für Windows-Systeme konzipiert. Auf Linux- oder macOS-Systemen ist diese Funktion nicht vorhanden.

Zugriffsschutz: Da die Funktion potenziell sensible Informationen über aktive Sessions liefern kann (z. B. Session-Schlüssel), sollte der Aufruf ausschließlich in geschützten administrativen Bereichen erfolgen, die nicht öffentlich zugänglich sind.

Session-Handler: Diese Funktion liefert nur dann sinnvolle Ergebnisse, wenn WinCache tatsächlich als Session-Handler konfiguriert ist (session.save_handler = wincache in der php.ini).