Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2460934
  • 博文数量: 392
  • 博客积分: 7040
  • 博客等级: 少将
  • 技术积分: 4138
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-17 13:03
个人简介

范德萨发而为

文章分类

全部博文(392)

文章存档

2017年(5)

2016年(19)

2015年(34)

2014年(14)

2013年(47)

2012年(40)

2011年(51)

2010年(137)

2009年(45)

分类: Python/Ruby

2011-12-21 17:12:13



changeset/289

一:eAccelerator(eacc)安装配置:eAccelerator 可以明显降低CPU和内存等资源占用 使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍 1、安装 先去eAccelerator官方下载最新版的源码包:eaccelerator-0.9.5.1.tar #tar -zxvf tar zxvf eaccelerator-0.9.5.1.tar #cd eaccelerator-0.9.5.1 #export PHP_PREFIX="/usr/local/php" (把PHP安装目录导入到环境变量) #$PHP_PREFIX/bin/phpize #./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config #make #make install 2、ini文件配置 安装完成,开始配置php.ini文件,eAccelerator提供了两种配置和调用方式,分别如下。 安装为 Zend extension 模式: zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/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.log_file = "/var/log/eaccelerator_log" 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模式安装的PHP,你必须使用 “zend_extension_ts” 替换第一行的 “zend_extension”. 安装为 PHP extension 模式:(这是大部分采用的方式) 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.log_file = "/var/log/eaccelerator_log" 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 777 /tmp/eaccelerator 3、验证安装结果 通过浏览器访问您的phpinfo()页面或者运行 php -v 得到php配置信息 同时还安装了Zend Optimizer3.2.8(要在php.ini中把ZO的配置选项写在EA的后面)看到的成功信息如下: PHP 4.4.7 (cli) (built: Aug 30 2007 08:37:36) Copyright (c) 1997-2007 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with eAccelerator v0.9.5.1, Copyright (c) 2004-2006 eAccelerator, by eAccelerator with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies 报错:用 PHP extension 调用模式 PHP Warning: Unknown(): Unable to load dynamic library './eaccelerator.so' - ./eaccelerator.so: cannot open shared object file: No such file or directory in Unknown on line 0 solution: 提示是找不到库文件,在/etc/php.ini修改 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/" 为绝对路径,就ok了 二: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"。 [root@web22 log]# tail -f /var/log/eaccelerator_log EACCELERATOR hit: "/var/www/main/story/detail.php" EACCELERATOR hit: "/var/www/main/includes/global_top.php" EACCELERATOR hit: "/var/www/main/includes/config.inc.php" EACCELERATOR hit: "/var/www/main/includes/function.inc.php" EACCELERATOR hit: "/var/www/main/includes/msg.inc.php" EACCELERATOR hit: "/var/www/main/includes/security.inc.php"  以上提示表示上述php文件得到缓存和命中。。   --------------------      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",表示最大压缩。 我的安装流程: #wget eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2 #tar jxf eaccelerator-0.9.5.2.tar.bz2 #cd eaccelerator-0.9.5.2 #/usr/local/php/bin/phpize #./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config #make #make install 增加php.ini,加在zend前面 [eaccelerator] extension_dir = "/usr/local/php/lib/php/extensions" extension= "no-debug-non-zts-20060613/eaccelerator.so" eaccelerator.shm_size="128" 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 777 /tmp/eaccelerator #cd .. 安装完毕

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