
Der Alternative PHP Cache ist ein quelloffenes PHP-Modul, das die Ausführung des Quelltextes beschleunigt und eine Zwischenspeicherung von Daten ermöglicht. Der APC legt den kompilierten Code der aus einem PHP-Quelltext normalerweise beim jedem Aufruf erstellt wird in einem Zwischenspeicher ab, wodurch der zeitaufwendige Prozess des Kompilierens beim Aufrufen der Datei entfällt. Außerdem können Variablen und Objekte im Zwischenspeicher gelagert werden, wodurch diese auch über mehrere Aufrufe hinweg verfügbar sind.
Geschwindigkeitsvergleich
Dominik Deobald vergleicht in seinem Artikel Benchmarking PHP: eAccelerator und andere OpCode Caches die Geschwindigkeit von PHP ohne Zwischenspeicher mit der Geschwindigkeit von 5 populären Zwischenspeichern. Neben APC werden auch eAccelerator, Zend und xCache getestet. Sein Fazit: Die Nutzung eines Zwischenspeichers lohnt sich, wie sehr die Geschwindigkeit sich verbessern lässt ist allerdings anwendungsabhängig. In seinen Tests schneidet der eAccelerator etwas besser ab als APC.
Installation von APC
Ab PHP 6 soll APC zu PHP standardmäßig dazugehören, zur Zeit ist es nur ein PECL-Modul, und muss erst installiert werden. Die meisten Linux-Distributionen bieten allerdings Pakete für APC an, was die Installation stark vereinfacht. Aber auch die Installation mittels PECL ist eigentlich nicht weiter schwer. Wie man den Zwischenspeicher installiert, und ihn in der php.ini aktiviert, erkläre ich im Artikel Installation von APC.
APC richtig konfigurieren
Die Standardkonfiguration von APC ist für die meisten Einsatzzwecke gut geeignet. Dennoch gibt es einige Optionen, die man vielleicht anpassen möchte. In meinem Artikel Konfiguration von APC erkläre ich die wichtigsten Optionen, und zeige eine Übersicht aller Einstellungsmöglichkeiten. Ich beschreibe beispielsweise wie man die Größe des Zwischenspeichers verändern kann, wie die Überwachung des Hochladevorgangs eingeschaltet wird, die Lebensdauer von Dateien im Zwischenspeicher eingestellt wird, und noch einiges mehr.
Funktionen von APC
APC kann nicht nur die Geschwindigkeit von PHP erhöhen, indem es vorkompilierte Dateien zwischenspeichert. APC kann auch Variablen/Konstanten/Objekte im Zwischenspeicher ablegen, und diese über mehrere Aufrufe hinweg verfügbar machen. So können beispielsweise zeitaufwendige Datenbankabfragen eingespart werden. Außerdem bietet APC einige nützliche Funktionen, die einem nützliche Informationen über den Zwischenspeicher liefern, sowie die Möglichkeit geben Dateien/Variablen aus ihm zu entfernen. Welche Funktionen es gibt, und wie man sie benutzt, beschreibe ich im Artikel Funktionen von APC.
APC überwachen
Mit APC wird noch ein kleines PHP-Skript mitgeliefert, mit dem man den Zustand des Zwischenspeichers überwachen kann. Außerdem können damit im Zwischenspeicher gespeicherte Variablen und Dateien eingesehen und auch gelöscht werden. Wie dieses Skript benutzt wird, erkläre ich in meinem Artikel APC: Status und Überwachung.Fortschrittsanzeige beim Hochladen von Dateien
Mithilfe von APC ist es möglich Informationen über den Hochladevorgang von Dateien zu ermitteln, mit diesen Informationen lässt sich der Fortschritt anzeigen, beispielsweise in Form eines Fortschrittsbalkens. Wie das geht, beschreibe ich im Artikel Fortschrittsanzeige beim Hochladen von Dateien.
Alternativen
APC ist nicht der einzige Zwischenspeicher für PHP, es gibt noch einige andere. Einer davon ist XCache, der übrigens wie APC neben dem Zwischenspeicher für vorkompilierte Dateien noch über einen Variablen-Zwischenspeicher verfügt. Außerdem gibt es noch den eAccelerator, und den Zend Cache. Der IonCube PHP Accelerator und TurkMMCache sind ebenfalls Zwischenspeicher, diese werden allerdings schon seit längerer Zeit nicht mehr weiterentwickelt, und funktionieren nicht mehr mit neueren PHP-Versionen.

Der Alternative PHP Cache…
APC beschleunigt die Ausführung von PHP-Quelltexten und ermöglicht die Zwischenspeicherung von Daten.In diesem Artikel erkläre ich die Installation, Konfiguration, Status/Überwachung, Benutzung von APC, außerdem zeige ich wie man beim Hochladen von Dat…