Der Alternative PHP Cache (APC) speichert kompilierte PHP-Skripte (Opcode) in einem Zwischenspeicher und spart so bei weiteren Aufrufen des Skripts Rechenzeit ein 3). Dies steigert die Leistung von SoSci Survey in aller Regel deutlich.
Die folgende Anleitung beschreibt exemplarisch die Installation von APC auf einem Linux-System mit Debian-Distribution und Apache 2.
Wichtig: PHP 5.5 enthält standardmäßig den Opcode-Cache „Zend Optimizer+“, hier ist keine zusätzliche Installation erforderlich. Allerdings muss das Modul evtl. in der PHP.INI aktiviert werden. Die Installationroutine warnt, falls es nicht aktiv ist.
Wichtig: Bevor Sie mit der Installation beginnen, rufen Sie in SoSci Survey die Server-Verwaltung → Server-Wartung → PHP-Information auf. Wenn dort bereits ein Abschnitt „apc“ erscheint, verwendet Ihre Server die Erweiterung bereits.
Hinweis: Es gibt noch eine Reihe weiterer Caching-Module, darunter der kommerzielle ZEND Server, der durch weitere Optimierungen am Code eine zusätzliche Beschleunigung erzielen kann.
Falls Ihre Linux-Distribution das Paket php-apc
bzw. php5-apc
kennt, ist die Installation von APC besonders einfach. Versuchen Sie auf der Linux-Konsole einfach, das Paket wie folgt zu installieren. Nach der Installation wird die PHP-/Apache-Konfiguration automatisch neu geladen und Sie finden einen Eintrag „apc“ in der PHP-Information.
# Je nach Distribution heißt das Paket unterschiedlich sudo apt-get install php5-apc sudo apt-get install php-apc
Anschließend muss der Webserver neu gestartet werden.
sudo service apache2 restart
Tipp: Diese Lösung hat den Vorteil, dass APC im Distributions-Update automatisch aktualisiert wird. Bei den anderen Lösungen müssen Sie nach einem Update von PHP auch APC manuell aktualisieren.
APC ist auch als PECL-Erweiterung erhältlich, zu deren Installation man PEAR benötigt. Details dazu finden sich auch in der Installations-Anleitung zu APC auf PHP.
sudo apt-get install php-pear
Damit der Befehl pecl install
funktioniert benötigt man weiterhin die PHP Developer-Pakete. Wenn Sie PHP 5 verwenden, reicht die erste Zeile. Sollten Sie php5-devel
nicht finden, versuchen Sie php-devel
.
sudo apt-get install php5-dev
Weiterhin vermisst die Installationsroutine noch die Datei pcre.h
. Diese bekommt man durch folgenden Befehl.
sudo apt-get install libpcre3-dev
Nun ist alles soweit vorbereitet, dass man APC via PECL installieren kann4).
sudo pecl install apc
Wahrscheinlich findet die Installationsroutine die Datei PHP.INI
nicht und bittet um eine manuelle Änderungen an der Datei:
> configuration option "php_ini" is not set to php.ini location > You should add "extension=apc.so" to php.ini
Die aktive PHP.INI
finden Sie mit dem PHP-Befehl phpinfo(), der in oFb einfach unter Server-Verwaltung → Server-Wartung → PHP-Information aufgerufen wird. Suchen Sie dort nach „php.ini“.
Warnung: PHP verwendet wahrscheinlich unterschiedliche Dateien PHP.INI
. Wenn Sie PHP von der Kommandozeile starten, werden Sie eine andere Datei finden5).
php -r "phpinfo();" | grep php.ini
In der PHP.INI, die von Ihrem Webserver verwendet wird, tragen Sie bitte die Extension „apc.so“ ein. Suchen Sie nach „Dynamic Extensions“, um die richtige Stelle dafür zu finden.
extension=apc.so
Nun muss der Webserver noch neu gestartet werden, damit PHP die neue PHP.INI
verwendet. Falls auf Ihrem Server bereits Projekte laufen, sperren Sie den Server dafür vorübergehend unter Server-Verwaltung → Server-Wartung → Server sperren. Den Neustart erreichen Sie am einfachsten mit einem der folgenden Befehle:
sudo service apache2 restart sudo /etc/init.d/apache2 restart sudo service httpd restart sudo /etc/init.d/httpd restart
Zuletzt sollten Sie in der PHP-Information prüfen, ob APC aktiviert wurde und die Server-Sperre wieder aufheben.