This articles has been requested to be deleted.
Der APC ist ein Opcode Cache für PHP. Er ermöglicht zum einen Werte in einem Cache abzulegen.
Zum anderen werden PHP Scripte im Hintergrund kompiliert und können danach schneller ausgeführt werden.
In aktuellen PHP Versionen ist der APC bereits vorinstalliert. Daher solltet ihr zuerst prüfen ob APC bereits eingerichtet ist.
Dazu erstellt ihr eine Info Datei namens info.php mit folgendem Inhalt und ruft sie anschließend im Browser auf:
|
PHP Quellcode
|
1
2
3
|
<?php
phpinfo();
?>
|
Schaut nun nach, ob ihr einen Abschnitt apc findet.
Bei mir sieht der Abschnitt wie folgt aus:
Diese Anleitung wurde unter Ubuntu Feisty Fawn getestet, sollte aber prinzipiell auch mit anderen Distributionen funktionieren.
Als Grundvoraussetzung gehen wir von einem installierten PHP5 mit Apache2 aus
Zusätzlich benötigen Sie nun die Entwickler-Versionen.
Achten Sie darauf, dass keine Pakete deinstalliert werden. Statt dem threaded können Sie natürlich auch das worker Paket installieren.
- php5-dev (sonst kommt ein phpize Fehler)
- apache2-threaded-dev (sonst kommt ein apxs Fehler)
|
Bash
|
1
|
apt-get install php5-dev apache2-threaded-dev
|
Bei der APC Extension für PHP handelt sich um eine PECL Erweiterung, die in C programmiert ist. Das Plugin muss noch auf ihrem System kompiliert werden.
Doch keine Angst, mit dem PEAR Paket funktioniert das alles vollautomatisch. Installieren Sie:
|
Bash
|
1
|
apt-get install php-pear
|
Während der Installation kann es zu einem bekannten Fehler kommen. Man wird aufgefordert apxs zu installieren. Grund hierfür ist, dass das Programm unter /usr/bin/apxs gesucht wird, es sich bei vielen Distributionen aber unter /usr/bin/apxs2 befindet.
Das lösen wir durch den folgendes Symlink Kommando:
|
Bash
|
1
|
ln -s /usr/bin/apxs2 /usr/bin/apxs
|
Nun können wir die Installation mit folgendem Befehl starten.
|
Bash
|
1
|
pecl install apc
|
Die Installation sollte automatisch durchlaufen. Bei Erfolg sollte am Ende folgender Text stehen:
Build process completed successfully
Installing '/var/tmp/pear-build-root/install-APC-3.0.14//usr/lib/php5/20060613+lfs/apc.so'
install ok: channel://pecl.php.net/APC-3.0.14
You should add "extension=apc.so" to php.ini
Man muss die Extension also nur noch in der php.ini aktivieren.
Dazu öffnen wir die Datei unter /etc/php5/apache2/php.ini und durchsuchen die Datei nach "Extensions". Dort fügen wir den Eintrag hinzu.
Bei mir sieht das fertig so aus:
|
Source code
|
1
2
3
4
|
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=apc.so
|
Die Basiskonfiguration habe ich ganz ans Ende der php.ini gepackt. Also scrollt bis ganz nach unten und fügt folgendes ein:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
|
[APC]
apc.enabled=1
apc.shm_segments=1
apc.optimization=0
apc.shm_size=128
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0
apc.rfc1867=1
|
Wichtig ist dabei rfc1867, welches für die Steuerung von Dateiuploads zuständig ist.
Am Ende starten wir den Apache neu und alles sollte funktionieren.
|
PHP Quellcode
|
1
2
3
4
5
|
<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>
|
Diese Datei im Browser aufgerufen sollte keine Fehlermeldung geben.