eAccelerator – PHP Beschleuniger Installation unter Debian (squeeze)+(wheezy) und Ubuntu

PHP Logo

eAccelerator – kleines Programm mit großer Wirkung. Die schlanke PHP Erweiterung beschleunigt die Ausführung von PHP Code unter dem Apache Webserver. Installationsanleitung für Debian, Ubuntu und Linux Mint.

eAccelerator ist ein Tool, welches die Ausführung des PHP-Codes unter Apache beschleunigt. Der Code wird bereits in kompiliertem Zustand gespeichert, wodurch das Kompilieren bei jeden Seitenaufruf fast gänzlich wegfällt. Der bereits vorkompilierte Code wird im Shared Memory gespeichert und von dort direkt aufgerufen. Außerdem wird die Laufzeit optimiert, um die Ausführung des PHP-Codes zu beschleunigen.

Wichtig ist hierbei immer, dass ihr entsprechende Performance Tests, also Webseiten Benchmarks durchführt, damit man auch die Auswirkung sieht.

So wie es derzeit aussieht wird eAccelerator nicht mehr aktiv weiterentwickelt und die Kompatibilität zu PHP 5.4 lässt sehr zu wünschen übrig, deshalb rate ich den Zend OPcache als PHP Beschleuniger zu verwenden

Persönliche Erfahrungen mit eAccelerator:

Da wir vor einiger Zeit eine etwas stärker frequentiertere Seite hosteten und wir ziemliche Performanceprobleme hatten, gab mir ein befreundeter Administrator den Tipp eAccelerator auszuprobieren. Ich war erst skeptisch und notierte mir die genauen Ladezeiten der Seite, um nach der Installation von eAccelerator einen Vergleichswert zu haben. Die Performancesteigerung war in meinem Fall nach der Installation ganze 89,5%.

Für eAccelerator gibt es leider keine offiziellen Pakete unter den Sources, darum müssen wir die Software per Hand downloaden und kompilieren. Dieser Schritt ist allerdings nicht allzu schwer:

Voraussetzungen installieren:

Damit wir eAccelerator für das System kompilieren können, sind einige Pakete dafür notwendig, die in “build-essential” enthalten sind, ausserdem benötigen wir das php5-dev Paket. Dieses installieren wir über folgenden Befehl:

apt-get install build-essential php5-dev bzip2

eAccelerator downloaden und entpacken:

Wir holen uns nun die aktuellste Version von eAccelerator bei der Herstellerseite und speichern diese nach /usr/src. Derzeit ist die aktuellste Version 0.9.6.1.

cd /usr/src
wget http://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-0.9.6.1.tar.bz2

Der eAccelerator befindet sich nun gepackt in unserem /usr/src Verzeichnis. Diesen werden wir nun entpacken.

tar -xjvf eaccelerator-0.9.6.1.tar.bz2

eAccelerator wurde und erfolgreich in /usr/src entpackt.

eAccelerator kompilieren und konfigurieren:

Mit folgenden Befehlen kompilieren/installieren wir eAccelerator für unser System

cd eaccelerator-0.9.6.1
phpize
./configure
make
make install

Nachdem diese Schritte abgeschlossen sind, teilen wir unserem PHP mit, dass wir gerne eAccelerator verwenden möchten. Dazu legen wir eine neue ini Datei in unserem Standard PHP Verzeichnis an

vi /etc/php5/conf.d/eaccelerator.ini

Die gerade erstellt eaccelerator.ini befüllen wir nun mit folgendem Standard-Inhalt:

extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/var/cache/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"

Genaure Informationen zu den Einstellungen findet ihr Hier

Der Wert “eaccelerator.shm_size” definiert den maximalen Speicher, welchen sich eAccelerator nehmen darf und sollte daher behutsam angepasst werden.

Damit eAccelerator auch die Cachefiles auf unser Festplatte ablegen darf, erstellen wir den Ordner, den wir in der .ini Datei konfiguriert haben (/var/cache/eaccelerator) und vergeben auch die entsprechenden Rechte.

mkdir /var/cache/eaccelerator
chmod 777 /var/cache/eaccelerator

Als letzten und abschließenden Schritt starten wir nun unseren Apache neu:

apache2ctl restart

oder

/etc/init.d/apache2 restart

eAccelerator Controlpanel aktivieren

Danke an Peter für den Tipp und die Beschreibung für das Controlpanel

Die Datei control.php muss lediglich aus dem Verzeichnis /usr/src/eaccelerator-0.9.6.1 in das Webserververzeichnis kopiert werden:

cp /usr/src/eaccelerator-0.9.6.1/control.php /var/www/

Nun editieren wir die Datei control.php…

vi /var/www/control.php

…und ändern die Logininformationen, mit denen auf control.php zugegriffen werden kann (“admin” und “eAccelerator” entsprechend ersetzen)

$user = “admin“;
$pw = “eAccelerator“;

Als Abschließenden Schritt muss dem Controlpanel noch die notwendige Berechtigung gewährt werden, um Daten aus eAccelerator auszulesen und auch Kommandos zu senden. Dazu bearbeiten wir die Datei eaccelerator.ini…

vi /etc/php5/conf.d/eaccelerator.ini

…und ergänzen diese um folgenden Eintrag
eaccelerator.allowed_admin_path="/var/www/control.php"
Jetzt noch den Apache neu starten und das Controlpanel kann über http://www.mein-server.org/control.php aufgerufen werden.

Und so sieht das eAccelerator Control Panel dann aus:

eAccelerator deinstallieren / entfernen

Um den eAccelerator wieder sauber zu entfernen werden lediglich die .ini und die .so Datei gelöscht:

rm /etc/php5/conf.d/eaccelerator.ini
rm /usr/lib/php5/20090626/eaccelerator.so

[eAccelerator] This build of “eAccelerator” was compiled for PHP version 5.x.x. Rebuild it for your PHP version (5.x.x) or download precompiled binaries.

Wenn ein Update der installierten PHP Version durchgeführt wurde, ist es notwendig den eAccelerator neu zu kompilieren (Wichtig: make clean). Dazu einfach die vorhandene eAccelerator Dateien im Verzeichnis /usr/src verwenden oder neu herunterladen und den Kompilierungsvorgang erneut ausführen:

cd /usr/src/eaccelerator-0.9.6.1
make clean
phpize
./configure
make
make install
eAccelerator - PHP Beschleuniger Installation unter Debian (squeeze)+(wheezy) und Ubuntu, 5.0 out of 5 based on 4 ratings
GD Star Rating
loading...
Patrick Schoyswohl

Patrick Schoyswohl

Systemadministrator
Hallo, mein Name ist Patrick Schoyswohl und ich bin Systemadministrator in einer Agentur für neue Medien und seit 2009 Betreiber und leidenschaftlicher Blogger von SysADMINsLife.com. Meine Leidenschaft gehört den Webservern und der Serverüberwachung auf Open-Source Basis. Falls du gefallen an meinen Artikel hast, kannst du mir gerne auf Google+, Facebook oder Twitter folgen.
Patrick Schoyswohl
Wer von euch hat #ebay gekillt „DNS failure" - 2 Wochen ago
Patrick Schoyswohl

Tags: , , , , , , , , , , ,

Samstag, 06. Juni 2009 Apache, Linux, WebServer Author: Patrick Schoyswohl

29 Kommentare zum Thema eAccelerator – PHP Beschleuniger Installation unter Debian (squeeze)+(wheezy) und Ubuntu

  • Julian sagt:

    Einer der wenigen, wirklich hilfreichen Artikel bei Google. Vielen Dank!

  • DerGrobe sagt:

    Fertige Pakete für Debian Lenny gibt es unter http://www.schnuckelig.eu/blog/debian-lenny-eaccelerator-packages-amd64-20090527 zur Zeit jedoch nur für amd64, i386 folgt noch.

  • Aleks sagt:

    Es ist zwar nicht besonders schwer, eAccelerator zu installieren, aber es ist trotzdem ein sehr hilfreiches und gutes Tutorial. Danke! :)

  • Rene sagt:

    Vielen dank für die Docu, ist eh einfach eigentlich aber ersparrt einem lange config suche :-)

  • [...] Christian Scholz  Post verschicken  Post drucken Ich bin gerade auf einem anderen Webblog auf einen Artikel gestoßen, in dem die Installation und Verwendung des eAccelerators beschrieben [...]

  • Jörn sagt:

    Hallo, könntest du noch eine Anleitung posten wie ich das Contropanel von eaccerlator zum laufen bekomme? Die anleitung auf der Eaccerlator Homepage funktioniert nicht so recht. Dankeschön!

  • Peter sagt:

    Controlpanel

    Merci beaucoup für die Anleitung!

    die Sache mit dem Controlpanel ist eigentlich ganz einfach:

    # Datei “control.php” aus dem Source-Directory ins htdoc-Directory kopieren
    cp /usr/local/src/eaccelerator-0.9.*/control.php /var/www/htdocs
    # Authentifikation zu Beginn des Skripts anpassen
    vim /var/www/htdocs/control.php
    # eaccelerator Konfiguration in der php.ini um folgenden Eintrag ergänzen:
    # eaccelerator.allowed_admin_path=”/var/www/htdocs/control.php”

    Anschließend lässt sich das Control Panel unter http://www.mein-server.org/control.php aufrufen. Es kann der Cache gelöscht werden sowie besichtigt werden, wieviele und welche PHP-Scripts gecacht wurden.

    Beste Grüße, Peter

    • Patrick sagt:

      Hallo Peter,

      tolle Sache mit dem Controlpanel. Werde ich gleich heute abend ausprobieren und den Artikel um den Bereich ergänzen!

      Vielen Dank für deine Mühe, dadurch lebt ein Blog – durch die Leser!
      Patrick

  • Lars sagt:

    Hi, mittlerweile gibt es eaccelerator bereits in Version 0.9.6 …

  • Veolore sagt:

    Ich habe eine vServer auf dem ispCP läuft und habe eben die neue Version installiert und es kam bei mir ein 500er Fehler. Woran kann das liegen?
    Viele Grüße
    Veolore

    • Patrick sagt:

      Hi Veolore,

      ich kenne leider ispCP zu wenig, als dass ich irgendwelche Vermutungen anstellen würde. Lief der Kompiliervorgang erfolgreich durch, und ist das Cache Verzeichnis auch beschreibbar?

      Gruß
      Patrick

  • Killer95 sagt:

    Über welches Programm muss ich die befehle eingeben?

    Ich habe es schon mit cmd probiert aber ich verstehe alles wie es funktioniert natürlich nur schriftlich leider noch nicht praktisch aber wo muss ich das eingeben?

    MfG: Killer95

  • Killer95 sagt:

    ok danke für die mitteilung aber wie installiere ich es dann auf windows da muss ich doch auch solche befehle ausführen

  • PHP Coder sagt:

    Sehr gutes Tutorial, wir haben vorher den Zend Encoder benutzt, der bringt zwar ca. 20% mehr Performance als eA, aber der Lizenzpreis spielt bei uns neuerdings auch eine Rolle. Drum haben wir uns für eA entschieden und sind sehr glücklich damit.

    Die Anleitung war sehr hilfreich und das Ergebnis hat sehr gut gefruchtet. ;)

  • Joerg sagt:

    Vielen Dank für diese wunderbare Anleitung. Vor allem, weil ich mir nie alles merken kann und daher immer wieder komme freue ich mich besonders über diese Ergänzung.

  • Cyberman sagt:

    Super TUT

    nur habe ich ein Problem, ich bin genau nach anleitung vorgegagen und, aber am ende wenn ich die http://meineIP/confrol.php aufrufen möchte bleibt die Seite weiss

    Apache habe ich neun gestartet habe sogar ein reboot des V-Servers vorgenommen nur bleibt die seite weiss

  • Patrick sagt:

    Hallo Cyberman,

    dein Standard Webserver Verzeichnis ist sicher auf /var/www ?

    Gruß
    Patrick

  • Jens sagt:

    Hallo!
    wie deinstalliere ich eaccelerator wieder, hab es nach dieser Anleitung installiert!

    Danke!!!!

    • Patrick sagt:

      Hallo Jens,

      um eaccelerator wieder zu deaktivieren reicht es bereits die Config File zu löschen: /etc/php5/conf.d/eaccelerator.ini
      Dann musst du nur noch die gecachten Files (/var/cache/eaccelerator) löschen und ggf. die eaccelerator.so im (/usr/lib/php5/*/eaccelerator.so)

      Gruß
      Patrick

  • Twigg sagt:

    Hey Patrick,
    vielen Dank, genau danach habe ich gesucht. Immer wieder schön einen Blog zu finden in dem man Infos findet und auch gerne wiederkommt ;)!

    Grüße

  • Cyberman sagt:

    Ja, das Standartverzeichnis ist /var/www/

  • Michael sagt:

    hallo alle zusammen, scheint ein super Tool zu sein und erst recht eine super Anleitung. leider komme ich nicht bis zum Ende. control.php kann aufgerufen werden, aber wenn ich dort etwas mache, dann erscheint
    Warning: This script isn’t in the allowed_admin_path setting! in /vrmd/homepages/u123456/eaccelerator/eaccelerator-0.9.6.1/control.php on line 285

    Die phpinfo.php sagt eaccelerator.allowed_admin_path no value no value, irgendwie habe ich das Gefühl, das evt meine eaccelerator.ini welche in /vrmd/homepages/u123456/eaccelerator/eaccelerator-0.9.6.1 liegt nicht genommen wird. Bitte gebt mir doch mal einen Tip.

    Gruß
    Micha

  • Rüdiger sagt:

    Tja was solll ich sagen….man lernt nicht aus!
    Das mit der “control.php” war mir neu aber ist ja mal richtig fein!
    Vielen Dank dafür

  • Johannes sagt:

    Hallo,
    tolle website und Anleitunge, die besten die ich bisher gefunden habe!! Kudos!
    Nur mit dem eAccelerator habe ich irgendwie Probleme. Alle Schritte korrekt ausgeführt, aber im Control.PHP erscheint nur
    “http://149.154.159.105/control.php” ;-( Mal Fehlersuchen ausser jemand hatte das gleiche Ergebnis (hatte keine Fehlermeldungen bei der Installation)

  • Peter sagt:

    Klasse Beitrag! Bei ISPConfig3 + PHPfcgi + eAccelerator 0.9.6.1 kahm es bei mir zu einem open_basedir Fehler. Habe bereits die Lösung gefunden, vieleicht kanns ja jemand gebrauchen:

    Fehlermeldung:
    open_basedir restriction in effect. File() is not within the allowed path(s)

    Lösung:
    Kompilieren ohne eaccelerator-use-inode
    ->(./configure –enable-eaccelerator=shared –without-eaccelerator-use-inode)
    Geht auch ohne Probleme nachträglich. Einfach die Dateien löschen, der Anleitung auf dieser Seite folgen und bei ./configure die Parameter mit angeben…

  • Leave a Reply

    Hosting-Lösungen (VPS, Dedicated Server, Webspace und Colocation) von Contabo

    Subscribe to our mailing list

    * indicates required Email Adresse *
    Werbung schalten

    *=Affiliatelink

    Blogverzeichnis - Blog Verzeichnis bloggerei.de