Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18925453
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: BSD

2008-04-07 20:58:36

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

阅读(489) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~