Signatur
Beschreibung
wincache_rplist_fileinfo() gibt detaillierte Informationen über den internen Resolve-Path-List-Cache von WinCache zurück. Dieser Cache speichert aufgelöste (absolute) Dateipfade, die beim Laden von PHP-Skripten ermittelt wurden, um wiederholte Dateisystem-Lookups zu vermeiden und so die Performance zu steigern.
Das Ergebnis enthält entweder eine vollständige Liste aller gecachten Einträge (mit Dateiname, Schlüsselnummer und Trefferanzahl) oder – wenn $summaryonly auf true gesetzt wird – nur eine Zusammenfassung mit Gesamtzahlen wie der Anzahl gecachter Pfade und der Gesamttrefferanzahl.
Diese Funktion ist ausschließlich auf Windows-Systemen verfügbar, auf denen die WinCache-Erweiterung (wincache.dll) installiert und aktiviert ist. Sie eignet sich besonders zur Diagnose, Überwachung und Performance-Analyse von PHP-Anwendungen, die auf IIS oder einem anderen Windows-Webserver betrieben werden.
Die Ausgabe dieser Funktion wird häufig in Administrator-Dashboards genutzt, um den Cache-Zustand einzusehen und zu entscheiden, ob ein manuelles Leeren via wincache_refresh_if_changed() notwendig ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $summaryonly | bool | false | Wenn true, enthält das zurückgegebene Array nur eine Zusammenfassung des Caches (Gesamtanzahl der Einträge und Trefferzähler) ohne die Liste der einzelnen Einträge. Sinnvoll, wenn nur schnelle Kennzahlen benötigt werden. |
Rückgabewert
rplist_entries (Array der einzelnen Einträge mit resolve_path, subkey_data und resolve_path_hit_count) sowie rplist_summary mit aggregierten Werten. Gibt false zurück, wenn WinCache nicht aktiviert ist oder die Funktion fehlschlägt.Beispiele
Alle gecachten Dateipfade ausgeben
<?php
$info = wincache_rplist_fileinfo();
if ($info === false) {
echo 'WinCache ist nicht verfügbar oder nicht aktiviert.';
} else {
echo 'Anzahl gecachter Pfade: ' . $info['rplist_summary']['total_file_count'] . PHP_EOL;
foreach ($info['rplist_entries'] as $entry) {
echo 'Pfad: ' . $entry['resolve_path']
. ' | Treffer: ' . $entry['resolve_path_hit_count'] . PHP_EOL;
}
}
Nur Zusammenfassung abrufen
<?php
$summary = wincache_rplist_fileinfo(true);
if ($summary === false) {
echo 'WinCache ist nicht verfügbar.';
} else {
$s = $summary['rplist_summary'];
echo 'Gesamt gecachte Pfade: ' . $s['total_file_count'] . PHP_EOL;
echo 'Gesamte Cache-Treffer: ' . $s['total_hit_count'] . PHP_EOL;
echo 'Gesamte Cache-Misses: ' . $s['total_miss_count'] . PHP_EOL;
}
// Wichtig · Fallstricke
Plattformbeschränkung: Diese Funktion ist ausschließlich unter Windows verfügbar und erfordert die installierte und aktivierte WinCache-PHP-Erweiterung. Auf Linux/macOS-Systemen existiert sie nicht.
Sicherheitshinweis: Die Ausgabe dieser Funktion kann interne Dateipfade der Serverstruktur offenlegen. Stellen Sie sicher, dass der Aufruf nur in passwortgeschützten oder nicht öffentlich zugänglichen Administrationsseiten erfolgt.
Die genaue Struktur des zurückgegebenen Arrays (Schlüsselnamen) kann sich zwischen WinCache-Versionen leicht unterscheiden. Prüfen Sie daher mit isset() auf das Vorhandensein einzelner Schlüssel, bevor Sie darauf zugreifen.