APC unter Linux installieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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.
    In aktuellen PHP Versionen ist der APC bereits vorinstalliert. Daher solltet ihr zuerst prüfen ob APC bereits eingerichtet ist.

    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:

    Quellcode

    1. <?php
    2. phpinfo();
    3. ?>


    Schaut nun nach, ob ihr einen Abschnitt apc findet.
    Bei mir sieht der Abschnitt wie folgt aus:

    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)

    Quellcode

    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

    Quellcode

    1. apt-get install php-pear


    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:

    Quellcode

    1. ln -s /usr/bin/apxs2 /usr/bin/apxs


    APC installieren: Schritt2

    Nun können wir die Installation mit folgendem Befehl starten.

    Quellcode

    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


    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:

    Quellcode

    1. ;;;;;;;;;;;;;;;;;;;;;;
    2. ; Dynamic Extensions ;
    3. ;;;;;;;;;;;;;;;;;;;;;;
    4. 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:

    Quellcode

    1. [APC]
    2. apc.enabled=1
    3. apc.shm_segments=1
    4. apc.optimization=0
    5. apc.shm_size=128
    6. apc.ttl=7200
    7. apc.user_ttl=7200
    8. apc.num_files_hint=1024
    9. apc.enable_cli=0
    10. apc.rfc1867=1


    Wichtig ist dabei rfc1867, welches für die Steuerung von Dateiuploads zuständig ist.

    APC testen

    Am Ende starten wir den Apache neu und alles sollte funktionieren.

    Quellcode

    1. <?php
    2. $bar = 'BAR';
    3. apc_store('foo', $bar);
    4. var_dump(apc_fetch('foo'));
    5. ?>


    Diese Datei im Browser aufgerufen sollte keine Fehlermeldung geben.

    15.500 mal gelesen

Kommentare 1

  • Torben Brodt -

    Welche Entwicklerpakete meinst du? APC ist doch schon lange (?) stabil.
    Ich schätze APC als seehr sicher ein :)

  • M4rc3L-XCN -

    Hi d0nut,
    wie sicher sind denn die Entwicklerpakete, die für APC erforderlich sind für den Live Server Betrieb ?
    Falls nicht sicher, welche Variante gäbe es noch um es auf einem Live System lauffähig zu machen?