You are not logged in.

This articles has been requested to be deleted.

Monday, June 22nd 2009, 10:22am

Tags

Apache, apc, cache, dateiupload, Linux, opcode, rfc1867, ubuntu

Abstract

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.
Hier findet ihr die Anleitung zur Installation im System.

Article

In aktuellen PHP Versionen ist der APC bereits vorinstalliert. Daher solltet ihr zuerst prüfen ob APC bereits eingerichtet ist.

1. Prüfen ob APC korrekt 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:

2. APC installieren: Schritt1


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
  • php5
  • apache2

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:
  • php-pear

Bash

1
apt-get install php-pear


3. APC Fehlerbehebung bei Installation


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


4. APC installieren: Schritt2


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:

Quoted

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


5. APC in der Konfiguration aktivieren


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.

6. APC testen


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.

Lexikon 4.1.3, developed by www.viecode.com