≡ 典典 - 单机游戏攻略 ≡'s Archiver

admin 发表于 2008-4-22 22:20

安装及配置eaccelerator-0.9.5加速PHP-5.2.1[原创]

[文章作者:张宴 本文版本:v1.1 最后修改:2007.03.02 转载请注明出处:[url=http://blog.s135.com/][color=#0066cc]http://blog.s135.com[/color][/url]]W4~~P Uf|h&bb

6dc[ Vq/fU]$O   操作系统:Linux%a KGTijEw$j I'j
  Vsi V|8mY~/\Gu
  一、安装eaccelerator-0.9.5(同时支持ZendOptimizer-3.2.2)sTs2lh,ui(D7S\
  ip[;Bc._j
  1、首先安装ZendOptimizer-3.2.2S~ DT1b M5P"G
  'x1S,N q.h
  # wget [url=http://www.vista.ac.cn/linux/down/ZendOptimizer/ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz][color=#0066cc]http://www.vista.ac.cn/linux/down/ZendOptimizer/ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz[/color][/url]U['h(h#[@DHa
  # tar zxvf ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gzJnX(]q Qr
  # cd ZendOptimizer-3.2.2-linux-glibc21-i386 I6dJ3~iZ\;}2f"W^
  # ./install.sh"V trptuBB9_
  
x&|yLoc   在Please specify the location for installing ZendOptimizer:提示后输入ZendOptimizer安装路径,例如/data/webserver/zend
jHS [Mtj-_   在Confirm the location of your php.ini file:提示后输入php.ini文件所在目录,例如/data/webserver/php/etc,@-cA r.U'R
  在Specify the full path to the Apache control utility (apachectl):提示输入apachectl绝对路径,例如/data/webserver/apache/bin/apachectl
~"A!Sz+?+o   .r8h)K xH{I TyF!~
  (i` C o&o;}
  2、再安装eaccelerator-0.9.5加速软件xS(WZ _0P7u q
  B$j:[C^Wl
  # wget [url=http://www.vista.ac.cn/linux/down/eaccelerator/eaccelerator-0.9.5.tar.bz2][color=#0066cc]http://www.vista.ac.cn/linux/down/eaccelerator/eaccelerator-0.9.5.tar.bz2[/color][/url]1\.DU k{us:K?
  # tar jxvf eaccelerator-0.9.5.tar.bz2([~ymYm
  # cd eaccelerator-0.9.5I*I S Uox#A%`
  HRVr#L%RRg
  指定php所在路径:
0F4Q'u c+@ M^;[   # export PHP_PREFIX="/data/webserver/php"3sZYK|P
  # $PHP_PREFIX/bin/phpize
P$VJ R ajXRP   # ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config` V B,_ }&N"bd
  # makeG(NoHe0MI-E
  # make install4~] W6Z/s'No!fF v
  
|&a(Qrgo;i-K(z ^   这时会将eaccelerator安装到php目录中,屏幕会显示eaccelerator.so所在路径,例如:4m(}9I0S"w!H)Sv+V%lZ
  Installing shared extensions: /data/webserver/php/lib/php/extensions/no-debug-zts-20060613/2E_5o4ip%y0eV%r-k
  记住这个路径。
(Tt {"wk:l3S.m    _h;W6M*p1iD0H
  eaccelerator即可以安装为PHP扩展,也可以安装为zend扩展,以下安装为PHP扩展。\ F*O%Ee*F[7[
  
_/Y7G MzMXX   如果存在/etc/php.d目录,需要拷贝eaccelerator.ini到该目录下,然后修改缺省值。如果不存在,修改php.ini,在[zend]之前加入以下内容(注:必须放在[zend]之前):
\0M8]QE7n3`   
?? ~H0m-W   [eaccelerator]8Pr+w?@8F l,^W u
  extension="/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
8Cp&N)u-\un-@K0ki   eaccelerator.shm_size="32"H li+pTB
  eaccelerator.cache_dir="/data/cache/eaccelerator"yGwM8?J
  eaccelerator.enable="1"c"\&A!Y/lX5esf
  eaccelerator.optimizer="1"
`QC5C'@*c;U$V:u   eaccelerator.check_mtime="1"
t@{q f(W`(ig6o   eaccelerator.debug="0"
I Feg d YR4~O   eaccelerator.filter=""
IP.~!H Q   eaccelerator.shm_max="0"+In^ B)YTE4~
  eaccelerator.shm_ttl="0"
W6d _!Q ^   eaccelerator.shm_prune_period="0"
fbi8{ z5C,p.I%oh c$h   eaccelerator.shm_only="0"
E5QUE@?R-a   eaccelerator.compress="1"Nu%u8o*l`P
  eaccelerator.compress_level="9"
5fHg q+a H   )j0s U7{PX:k
  建立缓存目录: D3]m/p)o
  # mkdir -p /data/cache/eacceleratorLTw.[R
  # chmod 0777 /data/cache/eaccelerator
#k"RdI T(z   
H(]QJJ;i   重启Apache:-}Txt7@
  # service httpd restartvB/|*m&z:e%\.[
  DA F@o
  )_tqf"` irX'X
  3、检查ZendOptimizer和eaccelerator是否安装成功
T9G,P9jH L8B6R   
l E$XO+pY,G#G-U   创建一个phpinfo.php文件,内容如下:p bkqQ)A
  <?php
3s'M U8Jn(L:t7e       phpinfo();
d%ccs8Wa   ?>
8k;Ra"v ]_^   /HF3Q&yqy
  将该文件放置到网站目录,在浏览器中访问,如果出现以下内容则安装成功:
e|Q6H2y*_i-XG x   This program makes use of the Zend Scripting Language Engine:
r:YR;k ` h*N!c   Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies} sn'{*`@ d/l5F
      with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator!h2AzF xy8p ?7H.i
      with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies
xJw,{D t[6Y       with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies \8F,Wj7F'j
  h7_^1u@NC7{4G
  
9|%sPYNi5U"s ?%^   
h!|b%]?M7TtH   二、eaccelerator配置信息详解(根据官方英文说明翻译)YT!F,`&Tz a-~7~ T
  [:p1aN,q^
  extension="/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"9]3DW:h{!]$I f.k
  
0gH)`-[b0M[3??{   解释:PHP扩展eaccelerator.so的路径。*l2q}*[DM7j!wy
  )y w2Y-P#D%oHo
  --------------------
-y6I'V s(K    }@ Lav3if7GP)Xa^({
  eaccelerator.shm_size="32"H,SKtIa
  
#`9R"v r'bY'B]+X   解释:eaccelerator可使用的共享内存大小(单位为MB)。
0b Lh&B%j)f rLi*g6l   o yrQ_ \wh5w
  在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS 4.4的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。(qh*`7J+|]M
  
e;mh&s|   临时更改该值:CD&|)dT-N
  # echo 字节数 > /proc/sys/kernel/shmmax;io%J1k_*Y u*[ R6G
  _N1B yY:E#v
  按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:7U%u)P(]T
  kernel.shmmax = 字节数4tix9Vt4{(TK
  V3GB_%WTO
  --------------------
F,ne*eC3h x   
o9U3d1]7@5Z agd/Gz   eaccelerator.cache_dir="/data/cache/eaccelerator"7u$OriFWA3x:OJ]
  
G0a`7Odn%H(SDY   解释:缓存路径,可以使用命令mkdir -p /data/cache/eaccelerator创建该目录,然后使用命令chmod 0777 /data/cache/eaccelerator设置该目录权限为0777.~!h8iPi\/|F
   e xj`4H&Z;K
  --------------------})@2AZ2e8@c9m{
  
Je1a^m~JA   eaccelerator.enable="1"GLH&[!^(z5X$I s
  
)ULfDY   解释:打开或者关闭eaccelerator。"1"指打开,"0"指关闭。默认值为"1"。^9WDS gc+K
  
Z3Ps5[lQ   --------------------;S.|5YkU?]{
   Y)g,bFkq'Fj%^
  eaccelerator.optimizer="1"3q,g em\Aq(u(h M O
  
MM`P!t0B/CQ,QK   解释:打开或者关闭代码优化,开启可以加快代码的执行速度。"1"指打开,"0"指关闭。默认值为"1"。(T9q-A'M#X6R#P x.G\.o
  u$a.[wh:oWLg;}
  --------------------
1t\Y\z)rI   
"?8c7{/H5|{UEC7]   eaccelerator.check_mtime="1"
/S;lI2a-n0B,Td    V.Q.V/fyGy"Z k9c
  解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改过,eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,则需要手工删除eaccelerator缓存,才能显示被修改的php文件。"1"指打开,"0"指关闭。默认值为"1"。
.LBc h9^0Mjc0C   
-a*wb(~|   --------------------%P4X0qu] n
  )yb T2~ ]O
  eaccelerator.debug="0"H?:Po!u%I(T#Ml8G
  
c!El\1v   解释:打开或者关闭调试记录。当打开时,eaccelerator会将对一个缓存文件的每次请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。"1"指打开,"0"指关闭。默认值为"0"。(_n.g9Tcx5f
  .Dw.]y`P6L
  --------------------:m`^O3Lf
  jkg`{/K~9H
  eaccelerator.filter=""
V,l(f8K$|*BFr   $Y zAa4^
  解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如"*.php *.phtml"),这样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为"",表示缓存所有的PHP文件。 k0Z k? G~
  
Q(J&e*qW,x/O   --------------------q Geq1Kz&rr-k
  d+fDy-@,pX p,u
  eaccelerator.shm_max="0"
cR,_~:G:L   w9o/`+a7~FD
  解释:一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为"0",表示不限制。(单位为字节)T8kJyP5ms$x*t%S;s
  $y"U*z/th)kU
  --------------------:B@ Lfk+t
  
Yjo0pJ|0}3M1x!b2n   eaccelerator.shm_ttl="0",BlxJ%d
  
YP h'w#bF,u   解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)/IA?#~%\k7J
  
YqC#@"byv   --------------------/q+I?pep9|
  
U.aH9Md'A   eaccelerator.shm_prune_period="0"^bt%N7Ax { b
  
"ZD&OEI5`\   解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)r6Mp:o3GQXU}%X
  "xJk0V&|%B#t!o+J
  --------------------
4i:{'m~0j P z   +`$N+R.T~.rSr
  eaccelerator.shm_only="0"
c%F+Q0hB*U];R9QQ;U   
U*iu3rn   解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为"0",表示使用磁盘和共享内存来缓存。f t8d*G2X(QZ
  -h/n)mmr
  --------------------#\,q)VX:?,h
  
:n-XR O h   eaccelerator.compress="1"
O p IQ:_([    L'Sr5IW/r6jWa;`"o
  解释:打开或者关闭缓存内容压缩。"1"指打开,"0"指关闭。默认值为"1"。%nlO0V'R;I1x j
  
Pa6a_J-`7Z-{*uF   --------------------Sv V/R2f+`!UA,M2J
  
N#k8H|)mn   eaccelerator.compress_level="9"1qo-v6T+U2lE
  /T&s*p"W&h Y9d+` E
  解释:内存压缩的级别。默认值为"9",表示最大压缩。-l0m0B3xb4T.U
  
$i N R&~@5TR   
^0|8R[K|   参考资料:A)Qw*Mv.vd
  1、Installing from source ([url=http://www.eaccelerator.net/wiki/InstallFromSource)][color=#0066cc]http://www.eaccelerator.net/wiki/InstallFromSource)[/color][/url]
1OU GGv-e0{]   2、eAccelerator settings ([url=http://www.eaccelerator.net/wiki/Settings)][color=#0066cc]http://www.eaccelerator.net/wiki/Settings)[/color][/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.