eAccelerator – php加速器

2010年2月20日 | 标签:

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;

按照官网上的说明,下载了源码并做安装,过程很顺利,按照说明做就是了。下面的安装说明引自官网。

Installing from source

These steps help you compile eAccelerator on UNIX-like systems. eAccelerator has been reported to compile on Linux, FreeBSD, OpenBSD, Mac OS X, Solaris, AIX and HP-UX.

Requirements

  • php4 or php5
  • autoconf
  • automake
  • libtool
  • m4

eAccelerator only works with mod_php or php in fastcgi mode. It can’t be used in cgi or cli because eAccelerator needs to set up shared memory, and this can only be done when all php instances that need to access it are forks of the first process.

Installation

Step 1. Compiling eAccelerator

You need to run these commands in the eAccelerator source directory. eAccelerator supports multiple php branches so you need to bootstrap eAccelerator first. This can be done with the phpize script. It very important that you use the phpize script of the php version for which you want to compile eAccelerator. The phpize and php-config scripts are available in the development packages of your distro. For fedora this is php-devel, for debian php-dev, other distribution should be similar.

When you have only one php install, it’s safe to run these commands in the source directory:

phpize
./configure
make

The phpize and php-config are the ones that are in your path. When you have more then one php install or the phpize and php-config scripts aren’t in your path then you should follow this procedure. This example has php installed in /opt/php, this is the path of the –prefix option given to the php configuration script.

export PHP_PREFIX="/opt/php"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make

For more information about the options for the configure script you should read the CompileConfiguration page.

After compilation, there should be a “eaccelerator.so” file in the modules subdirectory of the eAccelerator source directory.

Step 2. Installing eAccelerator

make install

This will copy the previously created eAccelerator binary to the php extension directory. When this command ends, it will print out the directory in which eAccelerator has been installed.

Step 3. Configuring eAccelerator

eAccelerator can be installed both as Zend or PHP extension. When you install eAccelerator as a zend_extension you need to give the full path to the eaccelerator.so library.

If you have /etc/php.d directory, you should copy eaccelerator.ini to it and modify the default values. If not, you need to edit your php.ini file (usually /etc/php.ini).

To install as Zend extension:

zend_extension="/usr/lib/php4/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"

If you use a thread safe build of PHP you must use “zend_extension_ts” instead of “zend_extension”.

To install as PHP extension:

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"

Step 4. Creating cache directory

One last 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.

The lazy way:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Step 5. Checking if it works

You need to restart the webserver eAccelerator is running under. Usually this will be Apache, if using eAccelerator with Lighttpd and fastcgi, you need to kill the main PHP fastcgi server.

相关文章:

  1. 轻量Web服务器Lighttpd体验
  2. 开启apache mod_deflate支持内容压缩传输,提升网站性能
  3. WordPress中文摘要
  4. WAS 6.1经验随笔
  5. WebSphere Web Server配置方式选择
目前还没有任何评论.