Difference between revisions of "EAccelerator"

From ArchWiki
Jump to: navigation, search
(added information on how to fix the open_basedir errors)
m (Sources: use wiki markup)
Line 42: Line 42:
[[Lighttpd_for_SSL_and_non-SSL#FastCGI_and_PHP_with_eAcceleration]] - helped me install eAccelerator and contains most of the above info and more.<br>
*[[Lighttpd_for_SSL_and_non-SSL#FastCGI_and_PHP_with_eAcceleration]] - helped me install eAccelerator and contains most of the above info and more.
[http://eaccelerator.net/wiki/Settings eAccelerator Wiki, Settings]<br>
*[http://eaccelerator.net/wiki/Settings eAccelerator Wiki, Settings]
[http://aur.archlinux.org/packages.php?ID=30215 AUR Package and open_basedir fix info by furibondox in the comments]<br>
*[http://aur.archlinux.org/packages.php?ID=30215 AUR Package and open_basedir fix info by furibondox in the comments]
[http://eaccelerator.net/ticket/104 eAccelerator info on open_basedir errors]
*[http://eaccelerator.net/ticket/104 eAccelerator info on open_basedir errors]

Revision as of 10:41, 29 June 2011

eAccelerator is available in AUR. When I was writing this page the latest version was and installation was quite easy.


eAccelerator is a free open-source PHP accelerator & optimizer. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times.


Download the tarball from AUR or use your favorite tool for AUR.

IMPORTANT: If you are having problems with open_basedir, you need to edit the PKGBUILD, change the ./configure line to

./configure --without-eaccelerator-use-inode --prefix=/usr

I recommend that you do it anyway since future versions of eAccelerator won't be using inodes. You can fine more info here: http://eaccelerator.net/ticket/104#comment:13

Compile the package with

makepkg -s

Enable it in PHP

Run the following command as root (note: make sure you use >> in the following command.)

cat /etc/php/conf.d/eaccelerator.ini >> /etc/php/php.ini

Edit /etc/php/php.ini and make the following changes:

  • zlib.output_compression = On
  • cgi.fix_pathinfo=1
  • eaccelerator.cache_dir="/home/phpuser/eaccelerator/cache"

Check if installation was ok

You can either from the command line or using phpinfo(). If the command line php binary uses the same configuration file as the php-fastcgi version and/or the mod_php version, you can check it by executing:

php -v

If installation was succesfull you should see something similar to the following:

Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
   with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

This will show eAccelerator has been loaded successfully, but this doesn't necessarily show that eAccelerator is working like it should. Load a php script running on your webserver in your browser. Assuming you didn't disable the filecache with shm_only = 1, a cached script should appear in the cache directory.

You could/should also check using phpinfo(). To do so add:


to a file and open it with your browser. eAccelerator should have its own section.