在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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章