Start · Sprachen · PHP · Referenz · wincache_fcache_fileinfo

wincache_fcache_fileinfo

Funktion

Ruft Informationen zu den im WinCache-Datei-Cache gespeicherten Dateien ab.

seit PHP 1.1.0 Kategorie: misc

Signatur

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

Beschreibung

wincache_fcache_fileinfo() liefert detaillierte Informationen über alle Dateien, die aktuell im WinCache-Datei-Cache (File Cache) gehalten werden. Dies umfasst u. a. die Anzahl der Cache-Einträge, den Gesamtspeicherbedarf sowie – bei vollständiger Abfrage – Einzel­informationen zu jeder gecachten Datei wie Dateiname, Dateigröße, Anzahl der Zugriffe und Zeitstempel.

Die Funktion ist primär für Diagnose- und Monitoring-Zwecke gedacht. Mit ihr lässt sich prüfen, welche Dateien der WinCache aktuell im Arbeitsspeicher vorhält, wie oft sie abgerufen wurden und wann sie zuletzt aktualisiert wurden. Das ist besonders nützlich, um Cache-Effizienz zu beurteilen oder Probleme mit veralteten Cache-Einträgen zu debuggen.

Über den Parameter $summaryonly lässt sich steuern, ob nur zusammenfassende Statistiken oder die vollständige Dateiliste zurückgegeben werden soll. Für Übersichts-Dashboards reicht meist true, während false (Standard) die komplette Dateiliste einschließt.

Diese Funktion steht ausschließlich unter Windows mit der WinCache-Erweiterung zur Verfügung und hat keine Entsprechung auf anderen Betriebssystemen.

Parameter

Name Typ Default Beschreibung
$summaryonly bool false Wenn true, enthält das zurückgegebene Array nur zusammenfassende Informationen (z. B. Gesamtanzahl und -größe der gecachten Dateien), ohne die Einzel­einträge für jede Datei. Wenn false (Standard), wird zusätzlich ein Array mit Informationen zu jeder einzelnen gecachten Datei zurückgegeben.

Rückgabewert

Typ
array|false
Beschreibung

Gibt bei Erfolg ein assoziatives Array zurück. Das Array enthält folgende Schlüssel:

  • total_cache_uptime – Laufzeit des Caches in Sekunden
  • total_file_count – Gesamtanzahl der gecachten Dateien
  • total_hit_count – Gesamtanzahl der Cache-Treffer
  • total_miss_count – Gesamtanzahl der Cache-Fehlschläge
  • file_entries – (nur wenn summaryonly = false) Array mit Einzel­einträgen; jeder Eintrag enthält file_name, file_size, file_mtime, file_hits, file_misses, file_last_check

Gibt false zurück, wenn WinCache nicht verfügbar ist oder ein Fehler auftritt.

Beispiele

Zusammenfassung des Datei-Caches ausgeben

<?php
// Nur zusammenfassende Statistiken abrufen
$info = wincache_fcache_fileinfo(true);

if ($info !== false) {
    echo 'Cache-Laufzeit: ' . $info['total_cache_uptime'] . ' Sekunden' . PHP_EOL;
    echo 'Gecachte Dateien: ' . $info['total_file_count'] . PHP_EOL;
    echo 'Cache-Treffer: '   . $info['total_hit_count']   . PHP_EOL;
    echo 'Cache-Fehlschläge: ' . $info['total_miss_count'] . PHP_EOL;
} else {
    echo 'WinCache ist nicht verfügbar.';
}
Cache-Laufzeit: 3600 Sekunden Gecachte Dateien: 42 Cache-Treffer: 1800 Cache-Fehlschläge: 12

Vollständige Dateiliste des Caches anzeigen

<?php
// Vollständige Informationen inklusive Einzeldateien abrufen
$info = wincache_fcache_fileinfo(false);

if ($info !== false && isset($info['file_entries'])) {
    echo sprintf(
        "%-60s %10s %8s %8s\n",
        'Dateiname', 'Größe (B)', 'Treffer', 'Fehlschl.'
    );
    echo str_repeat('-', 90) . PHP_EOL;

    foreach ($info['file_entries'] as $entry) {
        echo sprintf(
            "%-60s %10d %8d %8d\n",
            basename($entry['file_name']),
            $entry['file_size'],
            $entry['file_hits'],
            $entry['file_misses']
        );
    }
} else {
    echo 'Keine Cache-Einträge vorhanden oder WinCache nicht aktiv.';
}
Dateiname Größe (B) Treffer Fehlschl. ------------------------------------------------------------------------------------------ index.php 4096 320 2 config.php 1024 280 1

// Wichtig · Fallstricke

Plattform: Diese Funktion ist ausschließlich unter Windows mit installierter und aktivierter WinCache-Erweiterung verfügbar. Auf Linux/macOS-Systemen existiert sie nicht.

Leistung: Bei sehr vielen gecachten Dateien kann das vollständige Abrufen (summaryonly = false) eine größere Datenmenge erzeugen. Für Produktions-Monitoring empfiehlt sich daher summaryonly = true.

Zugriffsschutz: Da die zurückgegebenen Informationen interne Dateipfade des Servers enthüllen können, sollte die Ausgabe dieser Funktion niemals ungesichert an den Browser ausgegeben werden. Schütze entsprechende Diagnoseseiten durch Authentifizierung.