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