eAccelerator ist ein PHP Beschleuniger. Es werden die PHP-Skripte in kompilierter Form in einem Cache gespeichert, so dass bei einem Aufruf des Skriptes die verhältnismäßig lange Compilerzeit wegfällt. Damit sind Steigerungen von bis zu 400% im Vergleich zu PHP ohne Beschleuniger möglich. Der durchschnittliche Geschwindigkeitszuwachs liegt bei ca. 200%.

Hier nun eine kurze Anleitung, wie man eAccelerator kompiliert und installiert.

1. Download der Sourcen

Als erstes lädt man sich die Sourcen bei Sourceforge herunter. Nach dem Entpacken (tar -xvjf eaccelerator-0.9.5.tar.bz2) und dem wechseln in das Unterverzeichnis (cd eaccelerator-0.9.5), wird die folgende Environment-Variable gesetzt: export PHP_PREFIX=/usr.

Unter Umständen muss $PHP_PREFIX auf ein anderes Verzeichnis zeigen, z. B. /usr/local, wenn man PHP-Version selbst installiert hat. Meistens ist man mit /usr aber gut bedient.

2. Konfiguration

$PHP_PREFIX/bin/phpize

./configure --enable-accelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config

Sollte phpize nicht gefunden wird, dann muss noch das Development-Package für PHP nachinstalliert werden. Unter Debian geht das mit apt-get install php4-dev.

3. Installation

make

make install

Ist der Compiler nun ohne Fehler durchgelaufen sind, wurde die Erweiterung eaccelerator.so installiert. Wo dieses Modul nun genau liegt, erfährt man aus den letzten Zeilen der Ausgabe von make install.

(...)
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
Installing shared extensions: /usr/lib/php4/20020429/

4. Restarbeiten

Das eaccelerator-Modul verschlankt in dem wir überflüssige Debug-Symbole entfernt: strip /usr/lib/php4/20020429/eaccelerator.so
Nun müssen wir PHP nur noch sagen, dass es das eaccelerator-Modul auch laden und nutzen soll. Dazu hängt man die folgenden Zeilen an die php.ini an. Die befindet sich z. B. unter Debian in /etc/php4/apache2/php.ini

Die Datei php.ini erweitern wir am Ende um folgende Zeilen:

zend_extension="/usr/lib/php4/20020429/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"

eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Nun das Verzeichnis /tmp/eaccelerator zu erzeugen und dem Webserver Schreibrechte zu erteilen:

mkdir /tmp/eaccelerator

chown www-data.www-data /tmp/eaccelerator
Wichtig: Bei einem Upgrade von PHP muss eAccelerator neu kompiliert werden!!!


3 Kommentare

  1. 1

    Damit php-config für den compile-Prozess die richtige Version ausweist, muss es auf dem gleichen Stand sein wie das installierte PHP.
    Die Version kann man mit
    php-config –version
    prüfen, und falls diese nicht mit der von phpinfo() genannten Version übereinstimmt, mit
    apt-get install php5-dev
    ggf. neu installieren.

  2. 2

    Vielen Dank für Deine ausführliche Anleitung. Ich bin immer an der Installation gescheitert, da mir „php5-dev“ fehlte. Dank Deiner Anleitung klappte es – DANKE 🙂

    MfG Christian
    PS: Im Opera ist das Kommentarfeld nicht vollständig sichtbar 🙁

  3. 3

    Komisch, jetzt ist das Kommentarfeld wieder vollständig sichtbar. War wohl wieder einmal ein typischer Opera Bug :S

    MfG Christian

Was denkst du?