Horus
安装eAccelerator的必备条件
想安装eAccelerator,你需要autoconf,automake,libtool,m4,aclocal
而幸运的是这些都可以在/usr/ports/devel下面找到:
aclocal15
automake19
autoconf259
m4
libtool15
但是注意autoconf和autoheader之类请用最新的版本(例子目前还是最新的)。
下载eAccelerator
在页面: 可以下载到eAccelerator常用的几个版本。一般使用eAccelerator 0.9.3稳定版。eAccelerator 0.9.4虽然是rc1,但正如官方网站所言:
"这个版本只是包含了一些错误修正和代码的整理.这个版本仍然使用以前的代码结构. 它还没有包含任何新的代码.这主要是一个错误修正版本以提高eAccelerator的稳定性以及在正式版本发布之前用来解决已知的一些问题."
0.9.4rc1还是一个很好的版本(或者叫做0.9.3i,呵呵)。
得到eAccelerator后
对于eAccelerator 0.9.3,解开源码包的命令将是:
tar xzvf eaccelerator-0.9.3.tar.gz
对于eAccelerator 0.9.4rc1,解开源码包的命令将是:
tar xjvf eaccelerator-0.9.4-rc1.tar.bz2
然后:
cd eaccelerator-0.9.3
或者:
cd eaccelerator-0.9.4-rc1
在安装以前eAccelerator将会使用phpize对自己生成configure。而phpize似乎还需要libtool和autoconf之流,(当然aclocal也是必需的)。很多朋友安装不了eAccelerator,就是因为他们不知道怎么样才能./configure;make;make install。下面我们就来动动:
设置一个简单的环境变量
SH:
export PHP_PREFIX="/usr/local/php"
CSH:
setenv PHP_PREFIX "/usr/local/php"
这里的/usr/local/php是你的PHP安装目录,如果你用Ports安装,这里也许是/usr/local/bin
定义正确的autoconf,autoheader...
方法有二。设置环境变量法和ln大法。请看:
设置环境变量法
很多朋友在用phpize时,会得到出错找不到PHP_AUTOCONF的提示,请定义环境变量:
env PHP_AUTOCONF=autoconf259
env PHP_AUTOHEADER=autoheader259
ln大法
cd /usr/local/bin
ln -s /usr/local/bin/libtool13 /usr/local/bin/libtool
ln -s /usr/local/bin/libtoolize13 /usr/local/bin/libtoolize
ln -s /usr/local/bin/autoconf253 /usr/local/bin/autoconf
ln -s /usr/local/bin/autoheader253 /usr/local/bin/autoheader
ln -s /usr/local/bin/autom4te253 /usr/local/bin/autom4te
ln -s /usr/local/bin/automake15 /usr/local/bin/automake
ln -s /usr/local/bin/autoreconf253 /usr/local/bin/autoreconf
ln -s /usr/local/bin/autoscan253 /usr/local/bin/autoscan
ln -s /usr/local/bin/autoupdate253 /usr/local/bin/autoupdate
ln -s /usr/local/bin/aclocal15 /usr/local/bin/aclocal
开始安装
运行:
$PHP_PREFIX/bin/phpize
一般出现这样的提示就可以了:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20050922
Zend Extension Api No: 220051025
autoheader: `config.h.in' is created
然后:
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
如果出现以下错误提示:
creating libtool
......
configure: error: tag name "CXX" already exists.
那么你可以:
ee configure
查找CXX,把包含CXX的那行注释掉就行了。还可能出现ltconfig错误:什么"Try `ltconfig –help' for more information." 那就:
ee configure
在
*) lt_target="$target" ;;
esac
和
# Check for any special flags to pass to ltconfig.
libtool_flags="–cache-file=$cache_file"
之间添加
lt_target=$ac_cv_build
再次./configure...就可以成功了。
安装的最后步骤
make
make install
如果如果你用的是PHP 5.1以上版本,make会出问题。
配置 eAccelerator
eAccelerator 可以被配置成为 Zend 或者 PHP 的扩展如果是 eaccelerator > 0.9.1, 同时如果您有 /etc/php.d 这个目录, 您应该复制 eaccelerator.ini 到这个目录然后根据您的需要修改默认的配置. 如果不是上面这种情况, 您就应该编辑 php.ini 文件 (通常在 /etc/php.ini).
安装 eAccelerator 作为 Zend 的扩展
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"
如果您使用 thread safe build of PHP 这种方式,那么您必须使用 "zend_extension_ts" 而不是"zend_extension".
安装 eAccelerator 作为 PHP 的扩展
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"
创建缓存目录
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator