Feb 14 2008
Instalace eAcceleratoru na Debianu
eAccelerator je velmi užitečný nástroj pro „zrychlení“ PHP. Funguje na principu vytváření mezipaměti (cache) PHP skriptů a v případě že máte na serveru slabší stroj, nebo prostě jen potřebujete maximálně zrychlit vaše stánky je vhodné uvažovat o jeho použití. Jeho výhody se ukáží především při programování projektů založených na mnoha knihovnách, které se v průběhu vývoje nemění nebo pouze minimálně. eAccelerator vytvoří cache všech těchto PHP skriptů a není tedy nutné je při každém načtení stránky znovu kompilovat.
1. Příprava
eAccelerator (EA) je třeba instalovat ze drojáků, v aktuálních verzích (Etch, Lenny) balíček nenajdete vzhledem k jeho Debianí bezpečnostní politice (problém s oprávněním k přístupu kešovaných PHP skriptů). Zde tedy máte na výběr, buď si stáhnete aktuální stable verzi eAccelerator 0.9.5.2 a nebo si pomocí SVN stáhnout aktuální vývojovou verzi.
Pokud budete stahovat přes SVN, tak doporučují následující postup (volitelné, varianta 1):
# apt-get install subversion # svn --username anonymous --password anonymous co http://dev.eaccelerator.net/eaccelerator/trunk eaccelerator # cd eaccelerator
Pokud instaluje ze stažených zdrojáků (volitelné, varianta 2):
# tar jxvf eaccelerator-0.9.5.2.tar.bz2 # cd eaccelerator-0.9.5.2
Pro překlad EA dále budeme potřebovat (mimo klasických gcc/g++, …) i balíček php5-dev („obsahující“ nezbytné balíčky: autoconf, automake, libtool, m4):
# apt-get install php5-dev
2. Překlad a instalace
A konečně nastavíme cestu k phpize a provedeme přípravu překladu
# export PHP_PREFIX="/usr" # $PHP_PREFIX/bin/phpize
a spustíme vlastní překlad a instalaci
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config # make # make install
Nyní potřebujeme vytvořit adresář pro cache PHP skriptů (/tmp nebo /var). Pro zvýšení bezpečnosti se doporučuje nastavit vlastníka a práva adresáře podle uživatele pod kterým PHP běží (tedy typicky Apache — www-data):
# mkdir /tmp/eaccelerator # chown www-data:www-data /tmp/eaccelerator # chmod 0700 /tmp/eaccelerator
3. Konfigurace
A konečně zavedení modulu EA pomocí php.ini a nastavení jeho parametrů. Takže tedy něco jako
vim /etc/php5/apache2/php.ini a na konec souboru dopsat tyto řádky:
extension="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"
Toto je výchozí doporučená konfigurace, pokud se chcete dozvědět více a testovat různá nastavení, mrkněte na stránku přímo od eAcceleratoru věnující se konfiguraci.
Po konfiguraci je třeba ještě restartovat/reloudnout Apache:
# /etc/init.d/apache2 reload
4. Testování
<? phpinfo(); ?>
a hned v úvodní hlavičce by se mělo objevit navíc text o verzi eAcceleratoru :
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with eAccelerator v0.9.6-dev, Copyright (c) 2004-2007 eAccelerator, by eAccelerator
Verze
Pro úplnost jen uvedu, že výše popsaný postup je otestovaný na následucích verzích:
eAccelerator v0.9.6-dev (sestavení 340) PHP 5.2.5-2 Apache 2.2.8 OS: Debian Lenny - 2.6.22-3-686 (toho času testing;)
22.11.2009, 10:12
Eaccelerator je výborný doplněk, sám velice rád používám. I na starém serveru mohou PHP skripty běžět docela rychle.
04.02.2012, 16:41
jen bych doplnil ze to svnko uz nefacha nejakou dobu..ani bart.eaccelerator.net ..
poslendi stable verze je dostupna ke stazeni na http://code.google.com/p/acelnmp/downloads/detail?name=eaccelerator-0.9.6.1.tar.bz2&can=2&q=
25.06.2012, 22:49
Uz je to nekolik let co jsem tento clanek psal a bohuzel to vypada ze projekt byl opravdu ukoncen.