zoukankan      html  css  js  c++  java
  • 安装eaccelerator加速PHP

    一、安装eaccelerator-0.9.5
      
      1、首先下载并安装ZendOptimizer-3.3.9
           把ZendOptimizer.so COPY到一个目录,执行以下命令:
          chcon -t texrel_shlib_t /usr/lib/ZendOptimizer.so 
          execstack -c /usr/lib/ZendOptimizer.so 
          service httpd restart
          service mysqld restart
         基本上可以OK。
      
      2、再安装eaccelerator-0.9.6加速软件
      
      # wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2

      # tar jxvf eaccelerator-0.9.6.tar.bz2
      # cd eaccelerator-0.9.6
      #  phpize
      # ./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config
      # make
      # make install
      
      这时会将eaccelerator安装到php目录中,屏幕会显示eaccelerator.so所在路径,例如:
      Installing shared extensions:  /usr/lib/php/modules  记住这个路径。

         安装完成后需要修改/etc/ld.so.conf

         #vim /etc/lod.so.conf

      再最后一行添加 include /usr/lib/php/modules/*.so 后保存退出
      
      eaccelerator即可以安装为PHP扩展,也可以安装为zend扩展,以下安装为PHP扩展。
      
      在最后一行加入以下内容

    [eaccelerator]
    extension="eaccelerator.so"
    eaccelerator.shm_size="16"
    eaccelerator.cache_dir="tmp/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.Optimizer="1"
    eaccelerator.check_mttime="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 -p /tmp/eaccelerator
      # chmod 777 /tmp/eaccelerator
      
      重启Apache:
      # service httpd restart
      
      
      3、检查ZendOptimizer和eaccelerator是否安装成功
      
      创建一个phpinfo.php文件,内容如下:
      <?php
          phpinfo();
      ?>
      
      将该文件放置到网站目录,在浏览器中访问,如果出现以下内容则安装成功:
      This program makes use of the Zend Scripting Language Engine:
      Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
          with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
          with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies
          with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies
      
      
      
      二、eaccelerator配置信息详解(根据官方英文说明翻译)
      
      extension="/data/webserver/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
      
      解释:PHP扩展eaccelerator.so的路径。
      
      --------------------
      
      eaccelerator.shm_size="32"
      
      解释:eaccelerator可使用的共享内存大小(单位为MB)。
      
      在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS 4.4的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。
      
      临时更改该值:
      # echo 字节数 > /proc/sys/kernel/shmmax
      
      按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:
      kernel.shmmax = 字节数
      
      --------------------
      
      eaccelerator.cache_dir="/data/cache/eaccelerator"
      
      解释:缓存路径,可以使用命令mkdir -p /data/cache/eaccelerator创建该目录,然后使用命令chmod 0777 /data/cache/eaccelerator设置该目录权限为0777
      
      --------------------
      
      eaccelerator.enable="1"
      
      解释:打开或者关闭eaccelerator。"1"指打开,"0"指关闭。默认值为"1"。
      
      --------------------
      
      eaccelerator.optimizer="1"
      
      解释:打开或者关闭代码优化,开启可以加快代码的执行速度。"1"指打开,"0"指关闭。默认值为"1"。
      
      --------------------
      
      eaccelerator.check_mtime="1"
      
      解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改过,eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,则需要手工删除eaccelerator缓存,才能显示被修改的php文件。"1"指打开,"0"指关闭。默认值为"1"。
      
      --------------------
      
      eaccelerator.debug="0"
      
      解释:打开或者关闭调试记录。当打开时,eaccelerator会将对一个缓存文件的每次请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。"1"指打开,"0"指关闭。默认值为"0"。
      
      --------------------
      
      eaccelerator.filter=""
      
      解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如"*.php *.phtml"),这样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为"",表示缓存所有的PHP文件。
      
      --------------------
      
      eaccelerator.shm_max="0"
      
      解释:一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为"0",表示不限制。(单位为字节)
      
      --------------------
      
      eaccelerator.shm_ttl="0"
      
      解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
      
      --------------------
      
      eaccelerator.shm_prune_period="0"
      
      解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
      
      --------------------
      
      eaccelerator.shm_only="0"
      
      解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为"0",表示使用磁盘和共享内存来缓存。
      
      --------------------
      
      eaccelerator.compress="1"
      
      解释:打开或者关闭缓存内容压缩。"1"指打开,"0"指关闭。默认值为"1"。
      
      --------------------
      
      eaccelerator.compress_level="9"
      
      解释:内存压缩的级别。默认值为"9",表示最大压缩。
      

  • 相关阅读:
    Task.Delay() 和 Thread.Sleep() 区别
    task 如何终止线程
    旧版委托线程回忆
    c# 线程的优先级
    Java——Java泛型
    Java——Java面向对象
    Java——Java连接Jira,创建、修改、删除工单信息
    软件——Jira是什么
    Java——一文读懂Spring MVC执行流程
    Java——SSM整合所需的Maven配置文件
  • 原文地址:https://www.cnblogs.com/fangbo/p/1713598.html
Copyright © 2011-2022 走看看