在FreeBSD上编译安装PHP加速器:eAccelerator

== 安装eAccelerator需要... ==22 想安装eAccelerator,你需要autoconf,automake,libtool,m4,aclocal。
而幸运的是这些都可以在/usr/ports/devel下面找到:

   /aclocal15
   /automake19
   /autoconf259
   /m4
   /libtool15

但是注意autoconf和autoheader之类请用最新的版本(例子目前还是最新的)。

目录

[隐藏]

<script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; showTocToggle(); } </script>

下载eAccelerator

在页面:http://sourceforge.net/project/showfiles.php?group_id=122249 可以下载到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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章