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