Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Installing eAccelerator In Ubuntu Server.

Installing eAccelerator In Ubuntu Server

From MoodleDocs
Revision as of 20:35, 10 December 2010 by Dale Davies (talk | contribs)

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." - eaccelerator.net eAccelerator Homepage


Step-By-Step Command Line Installation

Change directory to home/user directory

Make sure you are in your own user directory, to do this use something like the following:

cd /usr/home/username

Download and extract file

Download and extract version 0.9.5.3 - later versions dropped support for the PHP commands used by Moodle and other PHP software (the W3 Total Cache Wordpress plugin for example)....

wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/


Build and install

  • To use the following phpize and php-config commands you will need to have the PHP development package installed, in Ubuntu you can install the PHP5 development package using...
sudo apt-get install php5-dev 

After checking that this is installed you can continue...

sudo phpize
sudo ./configure --with-php-config=/usr/bin/php-config --with-eaccelerator-shared-memory --enable-eaccelerator=shared
sudo make clean
sudo make
sudo make test
sudo make install


Check install location

Check the install area by changing directories:

cd /
cd usr/lib/php5/

In this directory you should see a folder named like a date string - eg... "20060613". Remember the folder name, you may need to use this to point to the eaccelerator.so file in the configuration options below.

Add configuration options for eAccelerator to php.ini

cd /
cd etc/php5/apache2
sudo nano php.ini

Add to end of php.ini file

Add the following to end of php.ini file (changing folder name appropriately):

; eAccelerator configuration
; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
; If you are using a thread safe build of PHP you must use
; zend_extension_ts instead of zend_extension
;extension                       = "/usr/lib/php5/20060613+lfs/eaccelerator.so"
zend_extension                  = "/usr/lib/php5/20060613/eaccelerator.so"
eaccelerator.shm_size           = "16"
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"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"


Create cache directory

The next very important step is creating the cache directory that you configured in the previous step. The default value is /tmp/eaccelerator It's easy because it's writable to everyone, but it isn't very smart because on a lot of systems this directory is cleaned on reboot. A better place would be /var/cache/eaccelerator. Create the directory and make sure it's writable for the user eAccelerator runs under (usually the user which you webserver runs as).

A safe bet is making it world writable. A safer and cleaner way would be to change the owner of the directory to the same user PHP runs as (most of the time the same user as Apache or Lighttpd) and set 0644 permissions.

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Restart Apache

Restart Apache by:

sudo /etc/init.d/apache2 restart

See also

See the following web page for more info....

http://eaccelerator.net/wiki/InstallFromSource