APC

Der Alternative PHP Cache (APC) ist ein freier und offener Opcode Cache für PHP.
Die Speicherung erfolgt dabei im Shared-Memory des Webservers. Damit lässt sich zum Beispiel die Datenbankserverlast für oft wiederkehrende Anfragen verringern.

  • Vorteil: Der Cache ist deutlich schneller als Memached.
  • Nachteil: APC ist im Gegensatz zu Memcached kein verteilter Cache. Wenn ihr mehrere Server betreibt, fahrt ihr mit Memcached besser.

Aktivieren des Cache

Ihr müsst den APC Cache wie folgt aktivieren: Optionen > Allgemein > Cache > APC

Konfiguration von APC

Je nach PHP Version ist der verfügbare APC Speicher sehr gering.
Für eine Woltlab Installation verwende ich 96 MB. Neben dem variablen Cache werden nämlich auch die PHP-Klassen für eine bessere Performance gecached.

Dazu muss die apc.shm_size Variable geändert werden.
Auf meinem Debian System bearbeite ich dazu die Datei /etc/php5/conf.d/apc.ini und füge folgende Zeile an ihr Ende hinzu:

apc.shm_size = 96

Danach muss der Webserver noch neugestartet werden:

/etc/init.d/apache2 restart

Weitere Tricks

Ihr wollt den APC Cache leeren? Startet dazu entweder den Webserver neu oder nutzt die Funktion im Admin Control Panel.

Hinweis bei Paketdeinstallation

Wenn ihr das Paket deinstallieren wollt, dann müsst ihr vorher auf einen anderen Cache umstellen. Ansonsten kommt es zu Problemen.
FALLS es zu solchen Problemen kommen sollte, dann könnt ihr wie folgt wieder auf den Disk Cache umstellen:

UPDATE wcf1_option SET optionValue = 'disk' WHERE optionName = 'cache_source_type' AND optionValue = 'apc';

Anschließend müsst ihr den Optionen-Cache löschen:

rm wbb/options.inc.php