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

Installing eAccelerator In Ubuntu Server

From MoodleDocs

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 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 - later versions dropped support for the PHP commands used by Moodle and other PHP software (the W3 Total Cache Wordpress plugin for example)....

tar xvf eaccelerator-
cd eaccelerator-

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 file in the configuration options below.

Add configuration options for eAccelerator to php.ini

Change to the PHP config directory and open the php.ini file for editing:

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

Add the following to end of php.ini file changing folder names appropriately, do not worry if the cache_dir directory does not exist on your system we will create it next:

; 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/"
zend_extension                  = "/usr/lib/php5/20060613/"
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

Next we will create the cache directory used in the previous step:

sudo mkdir /var/cache/eaccelerator

This directory must be writeable by the user eAccelerator runs under (usually www-data):

sudo chmod 0777 /var/cache/eaccelerator

For additional security we could change the owner of the directory to the same user eAccelerator runs under and set 0644 permissions:

sudo chown www-data:www-data /var/cache/eaccelerator
sudo chmod 0644 /var/cache/eaccelerator

Restart Apache

Restart Apache:

sudo /etc/init.d/apache2 restart

See also

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