Start · Sprachen · PHP · Referenz · wincache_ocache_fileinfo

wincache_ocache_fileinfo

Funktion

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

seit PHP 1.0.0 Kategorie: misc

Signatur

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

Beschreibung

wincache_ocache_fileinfo() gibt ein assoziatives Array zurück, das detaillierte Informationen über alle PHP-Skriptdateien enthält, die aktuell im Opcode-Cache von WinCache gespeichert sind. Dies umfasst Metadaten wie Dateiname, Dateigröße, Zeitstempel, Anzahl der Trefferrate sowie Speicherverbrauch.

Die Funktion ist ausschließlich unter Windows verfügbar und setzt die WinCache-Erweiterung voraus. Sie eignet sich hervorragend für Monitoring- und Debugging-Zwecke, um zu überprüfen, welche PHP-Dateien gecacht sind und wie effizient der Cache genutzt wird.

Wird der Parameter $summaryonly auf true gesetzt, enthält das Ergebnis nur eine Zusammenfassung ohne die detaillierte Dateiliste. Dies ist sinnvoll, wenn nur globale Cache-Statistiken (z. B. Gesamtanzahl gecachter Dateien, Speicherverbrauch) benötigt werden und der Overhead durch eine große Dateiliste vermieden werden soll.

Die Rückgabestruktur enthält unter dem Schlüssel "file_entries" ein Array mit Informationen zu jeder einzelnen gecachten Datei sowie unter "total_file_count", "total_hit_count" und "total_miss_count" aggregierte Statistiken.

Parameter

Name Typ Default Beschreibung
$summaryonly bool false Wenn true, wird nur eine Zusammenfassung ohne die Liste der einzelnen gecachten Dateien zurückgegeben. Nützlich, wenn nur globale Statistiken benötigt werden.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein assoziatives Array mit Cache-Informationen zurück. Das Array enthält u. a. die Schlüssel total_file_count, total_hit_count, total_miss_count und — sofern $summaryonly false ist — file_entries mit einem Array von Datei-Einträgen. Im Fehlerfall (z. B. WinCache nicht verfügbar) wird false zurückgegeben.

Beispiele

Alle gecachten Dateien anzeigen

<?php
$info = wincache_ocache_fileinfo();

if ($info === false) {
    echo 'WinCache Opcode-Cache ist nicht verfügbar.';
} else {
    echo 'Gecachte Dateien insgesamt: ' . $info['total_file_count'] . PHP_EOL;
    echo 'Treffer insgesamt: '          . $info['total_hit_count']  . PHP_EOL;
    echo 'Fehlschläge insgesamt: '      . $info['total_miss_count'] . PHP_EOL;

    foreach ($info['file_entries'] as $entry) {
        echo sprintf(
            "Datei: %s | Größe: %d Bytes | Treffer: %d\n",
            $entry['file_name'],
            $entry['file_size'],
            $entry['hit_count']
        );
    }
}
Gecachte Dateien insgesamt: 42 Treffer insgesamt: 1234 Fehlschläge insgesamt: 10 Datei: C:\inetpub\wwwroot\index.php | Größe: 2048 Bytes | Treffer: 320 ...

Nur Zusammenfassung des Opcode-Cache abrufen

<?php
$summary = wincache_ocache_fileinfo(true);

if ($summary === false) {
    echo 'WinCache ist nicht aktiv oder nicht installiert.';
} else {
    echo 'Gesamtzahl gecachter Dateien: ' . $summary['total_file_count'] . PHP_EOL;
    echo 'Cache-Treffer: '               . $summary['total_hit_count']  . PHP_EOL;
    echo 'Cache-Fehlschläge: '           . $summary['total_miss_count'] . PHP_EOL;
}
Gesamtzahl gecachter Dateien: 42 Cache-Treffer: 1234 Cache-Fehlschläge: 10

// Wichtig · Fallstricke

Windows-Only: wincache_ocache_fileinfo() ist ausschließlich auf Windows-Systemen mit installierter und aktivierter WinCache-Erweiterung verfügbar. Auf Linux/macOS-Systemen existiert diese Funktion nicht.

Deprecation: Ab WinCache 2.0 wurde der Opcode-Cache entfernt, da PHP 5.5+ einen eigenen integrierten OPcache mitbringt. Die Funktion gibt in diesem Fall eine leere Struktur oder false zurück. Für moderne PHP-Versionen sollte stattdessen opcache_get_status() verwendet werden.

Die Ausgabe dieser Funktion kann auf stark belasteten Servern mit vielen gecachten Dateien sehr groß werden. In solchen Fällen empfiehlt sich die Verwendung mit $summaryonly = true.