frank
Goto Top

PHP 5.5 - OPcache, APC und Alternativen

Hallo PHP User,

seit der PHP Version 5.5.x ersetzt das Modul OPcache per Default die Funktionalität von APC oder Xcache. Wer, wie wir, bisher hauptsächlich APC für den Bytecode-Compiler-Cache und dem Variablen-Cache benutzt hat, muss nun eine andere Lösung finden oder das Modul OPcache in PHP 5.5 deaktivieren (OPcache ist allerdings schneller als APC und wird aktiv weiter entwickelt).

Es existiert aber eine schöne Lösung für dieses Problem. Es gibt von APC eine neue PECL Erweiterung mit dem Namen APCu, die nur den Teil des Variablen-Cache enthält (also ohne den Bytecode Compiler). Somit kann man das mitgelieferte (und bessere) OPcache von PHP 5.5 nutzen und hat trotzdem noch per APC(u) die Erweiterungen zum Speichern von Variablen, Arrays oder Objekten.

Für PHP Versionen 5.2, 5.3 und 5.4 existiert das neue Modul OPcache als eigenständiges PECL-Modul mit dem Namen ZendOpcache. Es ist also auch in den älteren PHP Versionen schon jetzt möglich, die Trennung der Module "Bytecode-Compiler" und "Variablen-Cache" zu vollziehen.

Eine Alternative für APCu bzw. des Variablen-Cache als PECL-Modul ist der Einsatz z.B. von Memcached oder der In-Memory-Datenbank Redis. Administrator.de wird zum Beispiel in Zukunft verstärkt Redis einsetzten. Redis hat, ähnlich wie Memcached, den Vorteil, dass das PHP-Session Management damit komplett in die Memory-Datenbank wandert. Redis kann im Gegensatz zu Memcached seine Daten als Backup (und das gleichzeitig oder mit Verzögerung) auf einem Speichersystem ablegen. Damit gehen die Daten bei einem Neustart nicht verloren und können jederzeit wiederhergestellt werden.

Viel Spaß bei der Umstellung.

Gruß
Frank

Content-ID: 232918

Url: https://administrator.de/knowledge/php-5-5-opcache-apc-und-alternativen-232918.html

Ausgedruckt am: 22.12.2024 um 07:12 Uhr

AndiEoh
AndiEoh 23.03.2014 um 16:20:05 Uhr
Goto Top
Hallo,

das PECL-Modul ZendOpcache ist als Beta deklariert. Gibt es Erfahrungen zur Stabilität mit umfangreichen PHP Anwendungen?

Gruß

Andi