OPcache einfach erklärt: So beschleunigst du deine Website

OPcache

Wenn du eine PHP-basierte Website betreibst, kompiliert der Server bei jedem Seitenaufruf den gesamten PHP-Code neu. Dieser Prozess kostet wertvolle Zeit und belastet die Server-Ressourcen unnötig. OPcache löst dieses Problem durch intelligentes Bytecode-Caching und kann die Ladezeiten deiner Website erheblich reduzieren. Statt bei jedem Request den Code erneut zu parsen, speichert OPcache die kompilierte Version im Arbeitsspeicher und greift bei nachfolgenden Aufrufen direkt darauf zu.

Dieser Artikel erklärt, wie OPcache funktioniert, welche Performance-Verbesserungen du erwarten kannst und wie du es für dein spezifisches Projekt optimal konfigurierst. Du erfährst konkrete Empfehlungen für WordPress, Shopware und Magento sowie praktische Tipps zur Aktivierung bei verschiedenen Hosting-Typen. Alle Erklärungen sind bewusst einfach gehalten, damit auch technische Einsteiger die Vorteile von OPcache nutzen können.

Inhaltsverzeichnis

Was ist OPcache und warum braucht deine Website es

PHP-Skripte durchlaufen normalerweise bei jeder Anfrage denselben aufwendigen Prozess: Der Server liest den Quellcode, analysiert die Syntax, kompiliert ihn in maschinenlesbare Anweisungen und führt ihn schließlich aus. Diese Ineffizienz beseitigt OPcache durch eine einfache Lösung: Der kompilierte Code wird als Bytecode im Shared Memory des Servers gespeichert. Bytecode ist eine Zwischenform zwischen menschenlesbarem PHP-Code und Maschinensprache.

Die PHP-VM kann diesen Bytecode direkt interpretieren und ausführen, ohne die zeitraubenden Parse- und Kompilierungsschritte zu wiederholen. Bei jedem weiteren Aufruf derselben Datei greift PHP einfach auf die gespeicherte Version zu. Das spart Rechenzeit und reduziert die CPU-Last spürbar.

OPcache ist seit PHP-Version 5.5 fest in PHP integriert und steht damit praktisch jedem zur Verfügung. Für ältere PHP-Versionen war es als PECL-Paket verfügbar. Moderne Hosting-Provider haben OPcache meist vorinstalliert, aktivieren es aber nicht immer standardmäßig. Du solltest daher prüfen, ob es bei deinem Hosting bereits läuft oder ob du es selbst aktivieren musst.

So funktioniert OPcache technisch im Hintergrund

Vom PHP-Code zum Bytecode

Der erste Schritt im OPcache-Prozess ist die Transformation des PHP-Quellcodes in Bytecode. Wenn eine PHP-Datei zum ersten Mal aufgerufen wird, liest der Parser den Quellcode Zeile für Zeile und wandelt ihn in eine maschinenlesbare Zwischenform um. Der Bytecode enthält alle Anweisungen in optimierter Form und ist deutlich kompakter als der ursprüngliche Quellcode.

Speicherung im Shared Memory

Nach der Kompilierung speichert OPcache den Bytecode im Arbeitsspeicher des Servers. Dieser Shared Memory ist ein Bereich im RAM, auf den alle PHP-Prozesse gemeinsam zugreifen können. Die Speicherung im RAM ist entscheidend für die Geschwindigkeit, denn Arbeitsspeicher ist um ein Vielfaches schneller als jede Festplatte oder SSD. Der verfügbare Speicher ist allerdings begrenzt und muss zwischen allen gecachten Dateien aufgeteilt werden.

Für kleine WordPress-Projekte reichen typischerweise 128 bis 256 MB aus. Größere E-Commerce-Systeme wie Shopware oder Magento benötigen hingegen mindestens 512 MB, da sie deutlich mehr PHP-Dateien laden. Wenn der zugewiesene Speicher voll ist, muss OPcache ältere oder seltener genutzte Einträge entfernen, um Platz für neue zu schaffen.

Wiederverwendung bei nachfolgenden Requests

Bei jedem weiteren Aufruf prüft PHP zunächst, ob der Bytecode der angeforderten Datei bereits im Cache liegt. Falls ja, überspringt es die Kompilierung komplett und führt direkt den gespeicherten Bytecode aus. Diese Prüfung erfolgt blitzschnell und spart die rechenintensive Parse- und Kompilierungsphase vollständig ein.

OPcache validiert in konfigurierbaren Intervallen, ob sich die Quelldatei geändert hat. Der Parameter opcache.revalidate_freq bestimmt, wie viele Sekunden zwischen diesen Prüfungen liegen. Ein Wert von 60 bedeutet beispielsweise, dass PHP maximal einmal pro Minute nachschaut, ob die Datei aktualisiert wurde. Auf Produktionsservern kannst du diesen Wert höher setzen oder sogar auf 0 stellen, um Prüfungen komplett zu deaktivieren und den Cache nur manuell zu leeren.

Diese Performance-Verbesserungen bringt OPcache deiner Website

Aktuelle Daten zeigen, dass Opcode-Caching die Ladezeiten von PHP-Websites deutlich reduziert. Auf einem typischen Server mit SSD und PHP 7.1 liegen die Boot Times ohne OPcache bei über 100 Millisekunden. Nach der Aktivierung sinken diese Werte erheblich. Die tatsächliche Verbesserung hängt von mehreren Faktoren ab: der Komplexität deiner Anwendung, der Anzahl eingebundener Dateien und der Server-Hardware.

Besonders stark profitieren Content-Management-Systeme und Frameworks, die viele PHP-Dateien laden. WordPress bindet bei einem typischen Seitenaufruf Dutzende Dateien ein. Jede dieser Dateien muss normalerweise kompiliert werden. Mit OPcache fällt dieser Schritt weg, was die CPU-Last spürbar reduziert und gleichzeitig die Antwortzeiten verkürzt.

E-Commerce-Systeme wie Shopware und Magento zeigen noch stärkere Verbesserungen. Diese Plattformen laden hunderte PHP-Dateien pro Request und führen komplexe Berechnungen durch. Die Kombination aus reduzierter Kompilierungszeit und niedrigerer CPU-Auslastung ermöglicht es dem Server, mehr gleichzeitige Besucher zu bewältigen. Das führt zu stabilerer Performance auch bei Traffic-Spitzen.

Einige Hosting-Provider nutzen die OPcache-Performance als Verkaufsargument und konfigurieren es in ihren Managed-Paketen bereits optimal vor. Die Investition in ordentlich dimensionierten Arbeitsspeicher zahlt sich hier direkt aus, denn mehr RAM bedeutet mehr Platz für gecachten Bytecode und damit weniger Cache-Misses.

Wann OPcache bereits auf deinem Hosting aktiv ist

Seit PHP 5.5 ist OPcache fester Bestandteil jeder PHP-Installation. Das bedeutet aber nicht automatisch, dass es auch aktiviert ist. Viele Hosting-Umgebungen haben OPcache zwar installiert, schalten es jedoch aus Kompatibilitätsgründen oder wegen möglicher Konfigurationsprobleme nicht standardmäßig ein. Du musst daher selbst prüfen, ob es bei deinem Hosting läuft.

Die einfachste Methode ist ein Blick in die phpinfo()-Ausgabe. Erstelle dazu eine PHP-Datei mit folgendem Inhalt: <?php phpinfo(); ?> und rufe sie im Browser auf. Suche auf der Seite nach dem Abschnitt „Zend OPcache“. Wenn dieser Abschnitt existiert und „Opcode Caching“ auf „Up and Running“ steht, ist OPcache aktiv. Fehlt der Abschnitt komplett oder steht dort „Disabled“, musst du es erst aktivieren.

Viele moderne Hosting-Control-Panels bieten auch eine grafische Oberfläche zur PHP-Konfiguration. Dort findest du meist einen Schalter für OPcache oder kannst die relevanten Parameter direkt anpassen. Bei Systemen ab PHP 7.0 ist OPcache häufiger aktiviert als bei älteren Versionen, da die Vorteile mittlerweile allgemein bekannt sind.

Managed-Hosting-Anbieter wie Mittwald konfigurieren OPcache in ihren Paketen typischerweise vor. Auch spezialisierte E-Commerce-Hoster wie maxcluster optimieren die Einstellungen für Shopware und Magento. Provider wie webgo, Green.ch und HostEurope bieten ebenfalls Unterstützung für OPcache, wobei die Aktivierung je nach Paket variiert. Bei Shared-Hosting-Tarifen hast du manchmal eingeschränkte Konfigurationsmöglichkeiten, während du auf VPS- oder Dedicated-Servern volle Kontrolle hast.

Die wichtigsten OPcache-Einstellungen für dein Hosting

opcache.memory_consumption

Dieser Parameter legt fest, wie viel RAM OPcache für den Bytecode-Cache nutzen darf. Die Angabe erfolgt in Megabyte und sollte an die Größe deines Projekts angepasst werden. Für einen einfachen WordPress-Blog mit wenigen Plugins reichen 128 MB meist aus. Business-Websites mit vielen Erweiterungen sollten 256 MB einplanen. Shopware-Shops benötigen mindestens 512 MB, während große Magento-Installationen auch 1024 MB oder mehr sinnvoll nutzen können.

Projekttyp Empfohlener Wert
WordPress-Blog 128 MB
Business-Website 256 MB
Shopware-Shop 512 MB
Magento-Enterprise 1024 MB+

opcache.max_accelerated_files

Hier gibst du an, wie viele Dateien maximal gecacht werden können. Der Standardwert liegt zwischen 4000 und 10000, was für die meisten Websites ausreicht. Größere Projekte mit vielen Plugins, Themes oder Shop-Extensions sollten diesen Wert erhöhen. Shopware und Magento laden oft über 20000 Dateien, weshalb ein Wert von 30000 oder höher sinnvoll ist. Ein zu niedriger Wert führt dazu, dass ständig Einträge aus dem Cache entfernt werden müssen, was die Performance beeinträchtigt.

opcache.revalidate_freq

Dieser Parameter ist der entscheidende Unterschied zwischen Entwicklungs- und Produktionsumgebungen. Er bestimmt, wie oft PHP prüft, ob sich eine gecachte Datei geändert hat. Die Angabe erfolgt in Sekunden.

Umgebung Empfohlener Wert Begründung
Entwicklung 0-2 Sekunden Code-Änderungen sofort sichtbar
Produktion 300-600 Sekunden Maximale Performance
Produktion (alternativ) 0 mit manuellem Leeren Keine automatischen Prüfungen

Auf Live-Servern kannst du den Wert auf 0 setzen und den Cache nach jedem Deployment manuell leeren. Das verhindert unnötige Dateisystem-Zugriffe und maximiert die Performance.

opcache.interned_strings_buffer

Dieser Speicher ist für internierte Strings reserviert, also häufig verwendete Zeichenketten im PHP-Code wie Funktionsnamen, Klassennamen oder wiederkehrende Texte. Frameworks wie Symfony nutzen viele solcher Strings, weshalb hier ein höherer Wert sinnvoll ist. Der Standardwert liegt bei 8 MB, bei großen Frameworks solltest du 16 MB oder mehr einplanen. Zu wenig Speicher führt dazu, dass Strings nicht optimiert werden können und der RAM-Verbrauch insgesamt steigt.

So aktivierst du OPcache bei deinem Hosting-Provider

Shared Hosting mit Control Panel

Bei Shared-Hosting-Tarifen erfolgt die Aktivierung meist über das Control Panel deines Providers. In cPanel findest du unter „Select PHP Version“ oder „PHP Extensions“ eine Liste aller verfügbaren Erweiterungen. Setze dort den Haken bei „opcache“ und speichere die Änderung. Das Plesk Control Panel bietet unter „PHP-Einstellungen“ ebenfalls eine Checkbox für OPcache.

DirectAdmin zeigt die PHP-Extensions unter „PHP Version and Extensions“. Auch hier aktivierst du OPcache mit einem Klick. Manche Provider wie Green.ch stellen ein eigenes Web Control Panel bereit, in dem du OPcache und weitere Performance-Features verwalten kannst. Nach der Aktivierung dauert es meist wenige Sekunden, bis die Änderung wirksam wird. Ein Neustart des Webservers ist bei Shared Hosting normalerweise nicht nötig.

VPS und Dedicated Server

Auf einem VPS-Hosting oder Dedicated Server hast du vollen Zugriff auf die PHP-Konfiguration. Die zentrale Konfigurationsdatei ist die php.ini, die je nach System an unterschiedlichen Orten liegt. Typische Pfade sind /etc/php/8.2/fpm/php.ini oder /etc/php.ini. Öffne die Datei mit einem Texteditor und füge folgende Zeilen hinzu:

zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=300
opcache.fast_shutdown=1

Speichere die Datei und starte PHP-FPM neu. Der Befehl lautet meist systemctl restart php-fpm oder service php8.2-fpm restart, abhängig von deinem System. Prüfe danach mit phpinfo(), ob OPcache aktiv ist und die Werte übernommen wurden.

Managed WordPress und Shop-Hosting

Bei Managed-Hosting-Paketen übernimmt der Provider die Konfiguration für dich. Anbieter wie Mittwald und maxcluster aktivieren OPcache standardmäßig und optimieren die Parameter für WordPress oder E-Commerce-Systeme. Die Konfiguration erfolgt automatisch und ist auf die jeweilige Infrastruktur abgestimmt. Diese Pakete sind zwar teurer als einfaches Shared Hosting, ersparen dir aber technischen Aufwand.

OPcache für WordPress optimal konfigurieren

WordPress besteht aus dem Core, einem Theme und meist mehreren Plugins. Bei jedem Seitenaufruf werden Dutzende PHP-Dateien geladen. Die Core-Dateien ändern sich nur bei Updates, Plugins werden gelegentlich aktualisiert und das Theme bleibt meist stabil. Diese Struktur passt gut zum Caching-Konzept von OPcache.

Für eine typische WordPress-Installation empfehlen sich folgende Werte: opcache.memory_consumption sollte zwischen 128 und 256 MB liegen, abhängig von der Anzahl installierter Plugins. Ein Blog mit fünf Plugins kommt mit 128 MB aus, eine Business-Website mit zwanzig Erweiterungen benötigt eher 256 MB. Der Parameter opcache.max_accelerated_files sollte auf 10000 gesetzt werden, um genug Platz für alle Dateien zu haben.

Auf Live-Websites kannst du opcache.revalidate_freq auf 60 Sekunden setzen. Das ist ein guter Kompromiss zwischen Performance und Aktualität. Nach WordPress-Updates oder Plugin-Installationen solltest du den OPcache manuell leeren, um sicherzustellen, dass die neuen Dateien sofort verwendet werden. Viele Caching-Plugins wie WP Rocket oder W3 Total Cache bieten eine Funktion zum Leeren des OPcache direkt aus dem WordPress-Backend.

WordPress-spezialisierte Hosting-Anbieter haben diese Werte oft bereits vorkonfiguriert. Sie kombinieren OPcache mit weiteren Performance-Optimierungen wie Object Caching und CDN-Integration. Wenn dein Provider Managed WordPress Hosting anbietet, ist OPcache dort vermutlich bereits eingestellt.

OPcache für Shopware und Magento richtig einstellen

E-Commerce-Systeme stellen deutlich höhere Anforderungen an die Server-Ressourcen als einfache Websites. Shopware und Magento laden bei jedem Request hunderte PHP-Dateien. Diese Komplexität macht OPcache zu einem wichtigen Performance-Faktor für akzeptable Ladezeiten.

Für Shopware-Shops solltest du mindestens 512 MB Speicher einplanen. Dieser Wert gilt als Richtwert bei spezialisierten E-Commerce-Hostern. Magento benötigt ähnliche oder höhere Werte, besonders bei Enterprise-Installationen mit vielen Custom-Modulen. Der Parameter opcache.max_accelerated_files muss auf 20000 oder höher gesetzt werden, da diese Systeme deutlich mehr Dateien laden als WordPress.

System memory_consumption max_accelerated_files
WordPress 128-256 MB 10000
Shopware 512 MB 20000+
Magento 512-1024 MB 30000+

Auf Produktions-Shops solltest du opcache.revalidate_freq auf 0 setzen und den Cache nur nach Deployments manuell leeren. Das verhindert, dass während des Betriebs Dateisystem-Zugriffe die Performance beeinträchtigen. Spezialisierte E-Commerce-Hoster wie maxcluster konfigurieren OPcache nach diesen Anforderungen und kombinieren es mit weiteren Optimierungen wie Redis für Session-Storage und Varnish für HTTP-Caching.

Entwicklungsumgebung vs Produktionsserver bei OPcache

Lokale Entwicklung mit OPcache

Während der Entwicklung änderst du ständig PHP-Dateien und möchtest die Ergebnisse sofort im Browser sehen. Ein aggressiv cachender OPcache würde hier stören, weil du nach jeder Änderung den Cache manuell leeren müsstest. Die Lösung ist ein niedriger opcache.revalidate_freq-Wert von 0 bis 2 Sekunden. Damit prüft PHP bei jedem Request oder alle paar Sekunden, ob sich Dateien geändert haben.

Lokale Development-Tools wie ServBay haben OPcache zwar vorinstalliert, aktivieren es aber oft nicht standardmäßig. Das ist sinnvoll, weil Entwickler meist schnelle Feedback-Zyklen wichtiger finden als maximale Performance. Wenn du OPcache in der Entwicklung nutzen möchtest, setze opcache.enable=1 und opcache.revalidate_freq=0. Der Speicherbedarf ist lokal meist unkritisch, 128 MB reichen für die meisten Projekte.

Live-Server mit maximaler Performance

Auf Produktionsservern zählt jede Millisekunde Ladezeit. Hier solltest du OPcache so konfigurieren, dass es maximale Performance liefert. Setze opcache.revalidate_freq auf 300 bis 600 Sekunden oder komplett auf 0. Bei einem Wert von 0 prüft PHP nie automatisch, ob sich Dateien geändert haben. Du musst den Cache nach Updates manuell leeren.

Das manuelle Leeren erfolgt entweder über einen PHP-Befehl (opcache_reset()) oder durch Neustart von PHP-FPM. Viele Deployment-Tools wie Deployer oder Capistrano können das automatisch nach jedem Deploy erledigen. Diese Strategie eliminiert alle Dateisystem-Zugriffe zur Validierung und maximiert die Geschwindigkeit. Der Speicher sollte großzügig dimensioniert sein, damit alle Dateien dauerhaft im Cache bleiben und nicht ständig neu geladen werden müssen.

Neue Features in modernen PHP-Versionen für noch mehr Speed

Preloading seit PHP 7.4

Mit PHP 7.4 wurde Preloading eingeführt, eine Erweiterung von OPcache. Über den Parameter opcache.preload kannst du ein PHP-Skript angeben, das beim Start des PHP-Prozesses ausgeführt wird. Dieses Skript lädt bestimmte Dateien vorab in den OPcache, sodass sie bereits vor dem ersten Request verfügbar sind. Das beschleunigt besonders den ersten Seitenaufruf nach einem Server-Neustart.

Preloading eignet sich vor allem für Framework-Core-Dateien, die sich selten ändern und bei jedem Request benötigt werden. Du erstellst ein Preload-Skript, das alle relevanten Dateien mit require_once lädt und trägst den Pfad zu diesem Skript in der php.ini ein. Der Vorteil: Diese Dateien bleiben dauerhaft im Speicher und müssen nie neu geladen werden. Der Nachteil: Bei Änderungen an preloaded Dateien musst du PHP-FPM komplett neu starten.

JIT-Compiler seit PHP 8.0

PHP 8.0 brachte den Just-in-Time-Compiler, der OPcache um eine weitere Optimierungsstufe ergänzt. Während OPcache den PHP-Code in Bytecode kompiliert, geht der JIT noch einen Schritt weiter und wandelt häufig verwendete Codepfade direkt in nativen Maschinencode um. Das ist theoretisch die schnellste mögliche Ausführung.

In der Praxis zeigt sich der JIT-Vorteil besonders bei rechenintensiven Aufgaben wie Bildverarbeitung, mathematischen Berechnungen oder Kryptografie. Bei klassischen datenbankgetriebenen Webanwendungen wie WordPress oder Shopware ist der Effekt deutlich geringer, weil die meiste Zeit auf Datenbankabfragen und I/O-Operationen entfällt. Der JIT kann diese Wartezeiten nicht beschleunigen. Für typische Websites bringt OPcache allein bereits den größten Performance-Gewinn.

So viel RAM braucht dein Hosting für OPcache

OPcache nutzt den Arbeitsspeicher des Servers, der damit für andere Prozesse nicht mehr verfügbar ist. Du musst bei der Wahl deines Hosting-Pakets berücksichtigen, dass neben PHP auch der Webserver, die Datenbank und möglicherweise weitere Dienste RAM benötigen. Ein Server mit 2 GB RAM kann nicht 512 MB allein für OPcache reservieren, wenn gleichzeitig MySQL und Nginx laufen.

Projekttyp OPcache RAM Empfohlener Server-RAM
WordPress-Blog 128 MB 2 GB
Business-Website 256 MB 4 GB
Shopware-Shop 512 MB 8 GB
Magento-Enterprise 1024 MB 16 GB+

Bei Shared-Hosting-Paketen hast du meist keine Kontrolle über die RAM-Zuteilung. Der Provider teilt die Ressourcen zwischen allen Kunden auf. Sobald du einen Shop betreibst oder höhere Performance-Anforderungen hast, solltest du über VPS oder Dedicated Server nachdenken.

VPS-Pakete bieten dir garantierten RAM, den du nach deinen Bedürfnissen auf die verschiedenen Dienste verteilst. Ein 8-GB-VPS kann problemlos 512 MB für OPcache reservieren und hat noch genug Speicher für Datenbank und Webserver. Dedicated Server bieten noch mehr Flexibilität, sind aber auch deutlich teurer. Für die meisten Projekte ist ein gut dimensionierter VPS die beste Wahl.

Häufige Probleme mit OPcache und wie du sie löst

Code-Änderungen werden nicht sichtbar

Das häufigste Problem: Du änderst eine PHP-Datei, lädst die Seite neu und siehst immer noch die alte Version. Ursache ist der gecachte Bytecode, den OPcache weiterhin ausliefert. Die Lösung hängt von deiner Umgebung ab. Auf Entwicklungsservern solltest du opcache.revalidate_freq auf 0 oder einen sehr niedrigen Wert setzen, damit PHP bei jedem Request prüft, ob sich Dateien geändert haben.

Auf Produktionsservern ist das manuelle Leeren des Caches die bessere Lösung. Du kannst entweder PHP-FPM neu starten (systemctl restart php-fpm) oder die Funktion opcache_reset() aufrufen. Viele Deployment-Tools erledigen das automatisch nach jedem Deploy. Wenn du ein Control Panel nutzt, bietet es meist einen Button zum Leeren des OPcache. Bei WordPress helfen Caching-Plugins wie WP Rocket, die eine entsprechende Funktion im Backend bereitstellen. Verwandt mit diesem Problem ist der White Screen of Death, der bei WordPress durch verschiedene Cache-Probleme entstehen kann.

Cache-Speicher ist voll

Wenn OPcache meldet, dass der Speicher voll ist, werden ständig alte Einträge entfernt, um Platz für neue zu schaffen. Das beeinträchtigt die Performance erheblich. Du erkennst das Problem in der phpinfo()-Ausgabe: Unter „Zend OPcache statistics“ siehst du die Auslastung in Prozent. Liegt sie dauerhaft bei 100 Prozent und die „OOM restarts“ steigen, ist der Speicher zu knapp bemessen.

Die Lösung ist einfach: Erhöhe opcache.memory_consumption in der php.ini. Verdopple den Wert und beobachte die Auslastung über einige Tage. Bei einem Shopware-Shop mit 512 MB Speicher, der ständig voll ist, solltest du auf 768 oder 1024 MB erhöhen. Achte darauf, dass dein Server genug RAM hat, um die Erhöhung zu verkraften. Nach der Änderung musst du PHP-FPM neu starten.

Performance-Verschlechterung statt Verbesserung

In seltenen Fällen kann falsch konfiguriertes OPcache die Performance verschlechtern statt verbessern. Das passiert meist, wenn opcache.revalidate_freq zu niedrig gesetzt ist und PHP bei jedem Request alle Dateien auf Änderungen prüft. Diese Dateisystem-Zugriffe kosten Zeit und machen den Vorteil des Cachings zunichte.

Auf Produktionsservern sollte dieser Wert mindestens 60 Sekunden betragen, besser 300 bis 600. Alternativ setzt du ihn auf 0 und leerst den Cache nur nach Deployments. Ein weiteres Problem kann zu wenig Speicher sein: Wenn ständig Einträge aus dem Cache entfernt werden müssen, bringt OPcache kaum Vorteile. Stelle sicher, dass die Auslastung unter 90 Prozent bleibt und erhöhe den Speicher bei Bedarf.

Fazit: OPcache ist wichtig für schnelle PHP-Websites

OPcache ist eine integrierte PHP-Funktion, die durch Bytecode-Caching die Performance deiner Website verbessern kann. Die richtige Konfiguration hängt vom Projekttyp ab: WordPress-Blogs kommen mit 128 bis 256 MB aus, während Shopware- und Magento-Shops mindestens 512 MB benötigen. Der entscheidende Parameter ist opcache.revalidate_freq, der auf Entwicklungsservern niedrig und auf Live-Systemen hoch gesetzt werden sollte.

Moderne PHP-Versionen ab 7.4 bieten mit Preloading und ab 8.0 mit dem JIT-Compiler zusätzliche Performance-Features. Für typische datenbankgetriebene Websites ist OPcache allein bereits der größte Gewinn. Prüfe, ob dein Hosting-Provider OPcache aktiviert hat und ob die Konfiguration zu deinem Projekt passt. Achte besonders auf ausreichend RAM-Ressourcen und moderne PHP-Versionen, damit du die volle Kontrolle über die OPcache-Einstellungen hast.

Brauchst du Hilfe bei der Wahl des richtigen Hostinganbieters?

Wir helfen dir gern weiter! Klicke auf den Button unten und erhalte innerhalb von 24 Stunden unsere persönliche Hostingempfehlung kostenlos und unverbindlich.
Hosting ab € 1,95 / Monat
Advice

Häufig gestellte Fragen

Ist OPcache bei meinem Hosting bereits aktiviert?

Das hängt von deinem Provider und Hosting-Paket ab. Erstelle eine PHP-Datei mit phpinfo() und suche nach dem Abschnitt „Zend OPcache“. Wenn dieser existiert und „Opcode Caching“ auf „Up and Running“ steht, ist OPcache aktiv. Bei modernen Managed-Hosting-Paketen ist es meist vorinstalliert und aktiviert. Shared-Hosting-Tarife haben OPcache oft installiert, aber nicht immer eingeschaltet. In diesem Fall kannst du es über das Control Panel oder die php.ini aktivieren.

Wie viel RAM brauche ich für OPcache bei einem WordPress-Blog?

Für einen typischen WordPress-Blog mit wenigen Plugins reichen 128 MB völlig aus. Wenn du viele Erweiterungen nutzt oder ein umfangreiches Theme hast, solltest du 256 MB einplanen. Diese Werte beziehen sich nur auf OPcache selbst. Dein Server braucht zusätzlich RAM für Webserver, Datenbank und andere Prozesse. Ein VPS mit 2 GB Gesamtspeicher ist für einen WordPress-Blog mit 128 MB OPcache eine gute Basis.

Warum sehe ich meine Code-Änderungen nicht sofort nach dem Speichern?

OPcache hat die alte Version deiner Datei gecacht und liefert diese weiterhin aus. Auf Entwicklungsservern solltest du opcache.revalidate_freq auf 0 setzen, damit PHP bei jedem Request prüft, ob sich Dateien geändert haben. Auf Live-Servern ist das manuelle Leeren des Caches nach Änderungen die bessere Lösung. Du kannst entweder PHP-FPM neu starten oder die Funktion opcache_reset() aufrufen. Viele Caching-Plugins und Deployment-Tools bieten dafür fertige Lösungen.

Kann OPcache auch bei PHP-CLI-Skripten verwendet werden?

Ja, aber nur wenn du opcache.enable_cli auf 1 setzt. Standardmäßig ist OPcache nur für Webanfragen aktiv, nicht für Kommandozeilen-Skripte. Das ist sinnvoll, weil CLI-Skripte meist nur einmal laufen und nicht von Caching profitieren. Wenn du jedoch lange laufende CLI-Prozesse hast, die wiederholt denselben Code ausführen, kann die Aktivierung von OPcache für CLI die Performance verbessern. Beachte, dass der Cache bei CLI-Skripten nach jedem Durchlauf gelöscht wird.

Was ist der Unterschied zwischen OPcache und anderen Caching-Lösungen wie Redis?

OPcache cached den kompilierten PHP-Code selbst, während Redis Daten cached, die deine Anwendung verarbeitet. OPcache beschleunigt die Code-Ausführung, Redis reduziert Datenbankabfragen. Die beiden Technologien ergänzen sich perfekt: OPcache sorgt dafür, dass PHP-Code schnell ausgeführt wird, Redis speichert Datenbankabfragen und Session-Daten im RAM. Für maximale Performance solltest du beide nutzen. WordPress-Caching-Plugins wie WP Rocket oder W3 Total Cache können sowohl OPcache als auch Redis einbinden.

Welche deutschen Hosting-Anbieter bieten optimiertes OPcache für E-Commerce-Shops?

Spezialisierte E-Commerce-Hoster wie maxcluster konfigurieren OPcache optimal für Shopware und Magento vor. Mittwald bietet in seinen Managed-Hosting-Paketen ebenfalls vorkonfiguriertes OPcache. Auch webgo, Green.ch und HostEurope unterstützen OPcache, wobei die Konfiguration je nach Tarif variiert. Bei Managed-Hosting-Paketen übernimmt der Provider die Optimierung, während du bei VPS oder Dedicated Servern selbst Hand anlegen musst. Für E-Commerce-Shops solltest du auf mindestens 512 MB OPcache-Speicher und moderne PHP-Versionen achten.

Jason-Carter

geschrieben von:

Jason Carter

Mein Name ist Jason Carter und ich konzentriere mich auf den technischen Bereich von Webhosting Vorteil. Mit über 10 Jahren Erfahrung in der IT-Branche bringe ich umfangreiche Kenntnisse und Expertise im Bereich Webhosting mit. Ich teste verschiedene Hosting-Anbieter, schreibe detaillierte Bewertungen und Vergleiche und arbeite kontinuierlich daran, die Website zu verbessern, damit Besucher die bestmögliche Erfahrung erhalten.

Auch interessant

Wir helfen dir, den besten Webhoster zu finden

Advice

Kostenlose beratung

Hosting ab € 1,95 / Monat