- 浏览: 531494 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xuyifeng:
[img][/img][b][/b][/i]玩儿[i][u][ ...
win/linux 网关绑定MAC,ARP攻击 -
icarusli:
一般是要根据具体情况来分析,只不过基本都会是上面所说的原因,但 ...
nginx 502 bad故障原因及解决方法收集 -
haohetao:
博主有Mydigit邀请码吗,给送个haohetao@gmai ...
U盘量产功能增多
eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;
首先您要安装好PHP,然后再来编译安装 eaccelerator,过程如下。
我们从官方下的版本是 eaccelerator-0.9.5.2.tar.bz2
编译安装;
# tar xvf eaccelerator-0.9.5.2.tar.bz2
# cd cd eaccelerator-0.9.5.2
# export PHP_PREFIX="/usr"
# $PHP_PREFIX/bin/phpize
# ./configure \ --enable-eaccelerator=shared \ --with-php-config=$PHP_PREFIX/bin/php-config
# make
# make install
注:通过export 来设置php所在的安装路径变量,我的PHP是安装在/usr目录下,系统用redhat。其它系统如果默认安装也大体差不多;如果不一样,就自己指定一下;
完成安装后,eaccelerator.so模块位于 /usr/lib/php/extensions目录中,您的系统如果和我不一样,您自己应该安装在哪了; # echo "/usr/lib/php/extensions" > /etc/ld.so.conf
# ldconfig 注:更新动态链接库地址;
修改配置文件;
我们首先要修改;php.ini,然后重启Apache;
在php.ini文件中,加入;
zend_extension="/usr/lib/php/extensions/eaccelerator.so" 注:模块的具体位置;
eaccelerator.shm_size="16" 注:共享内存大小;
eaccelerator.cache_dir="/home/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" 注:其中,模块的具体位置必须正确,以您的系统为准;共享内存大小可以自己调整,感觉16M还是可以的,根据服务器的情况,你自己调一下。
缓存目录可以自己指定,我们在这里指定的是 /home目录上的 eaccelerator 目录,如果没有,自己创建一个;权限是0777;
以上的配置是把 eaccelerator 做为 Zend 的扩展模块来编译的办法。如果您的PHP是用安装模式编译的,要把 zend_extension改为zend_extension_ts 。
如果您是把 eaccelerator 做为 PHP的一个扩展,要用下面的配置 ;
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/home/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
是不是生效了,您要查看 /home/eaccelerator 目录中,当Apache服务器启动了,你随便点几个页面,如果在这个目录中,出现文件了。那就是生效了。如果没任何文件,就要找原因了 …… 这两个配置文件,是不是管用。要你自己根据情况来修改。
# mkdir /home/eaccelerator
# chmod 777 /home/eaccelerator 注:创建缓存目录池,权限是777
eaccelerator.shm_size="32"
eAccelerator 可以使用的共享内存的数量 (以兆为单位) . "0" 是指操作系统的默认值. 默认值是 "0".可根据服务器的实际情况来调整,16,32,64,128都是可以的。
eaccelerator.cache_dir="/home/php/tmp"
这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 "/tmp/eaccelerator".
eaccelerator.enable="1"
开启或关闭 eAccelerator。"1" 为开启,"0" 为关闭。默认值为 "1"。
eaccelerator.optimizer="1"
启或关闭内部优化器,可以提升代码执行速度。"1" 为开启,"0" 为关闭。默认值为 "1"。
eaccelerator.check_mtime="1"
打开或者关闭 PHP 的文件修改检查. "1" 是指打开, "0" 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 "1". 默认值是 "1".
eaccelerator.debug="0"
开启或关闭调试日志记录。"1" 为开启,"0" 为关闭。默认值为 "0"。会将缓存命中得记录写入日志。
eaccelerator.filter=""
判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 "*.php *.phtml"等)
如果参数以 "!" 开头,则匹配这些参数的文件被忽略缓存。默认值为 "",即,所有 PHP 文件都将被缓存。
eaccelerator.shm_max="0"
当使用 " eaccelerator_put() " 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)。"0" 为不限制。默认值为 "0"。
eaccelerator.shm_ttl="0"
当 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 "shm_ttl" 秒内没有存取的脚本缓存。默认值为 "0",即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_prune_period="0"
当 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于"shm_prune_period" 秒的缓存脚本。默认值为 "0",即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_only="0"
允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 "0",即:使用磁盘和共享内存进行缓存。
eaccelerator.compress="1"
允许或禁止压缩内容缓存。默认值为 "1",即:允许压缩。
eaccelerator.compress_level="9"
指定内容缓存的压缩等级。默认值为 "9",为最高等级。
eaccelerator.keys = "disk_only"
eaccelerator.session = "disk_only"
eaccelerator.content = "disk_only"
设置内容缓存的存放的地方,可以设置为:
shm_and_disk 在共享缓存和硬盘(默认值)
shm 默认存在共享内存,如果共享内存已满或大小超过 "eaccelerator.shm_max" 的值,就存到硬盘
shm_only 只存放在共享内存
disk_only 只存放在硬盘
none 不缓存数据
eaccelerator.allowed_admin_path = "/var/www/html/web/eaccelerator"
这是控制面板的地址
安装包里有个control.php,你把它复制到网站的任意目录,可以用它查看和管理,这个必须指定,否则查看缓存内容的时候会出错
最后,来看一下我的 eAccelerator 设置
; eaccelerator
[eaccelerator]
zend_extension="/usr/local/php/lib/php/extensions/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="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys = "disk_only"
eaccelerator.sessions = "disk_only"
eaccelerator.content = "disk_only"
eaccelerator.allowed_admin_path = "/var/www/html/web/eaccelerator"
另外,再说下 eAccelerator 的安装
# 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
# /usr/local/php/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
# make && make install
-------------------------------------
open_basedir 设置后不能访问的解决方法之一
Warning: Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (.:/tmp/) in Unknown on line 0
Fatal error: Can’t load /XX/index.php, open_basedir restriction. in Unknown on line 0
出现了很多次这样的问题了,感觉都无从下手,总觉得与系统和php有关, 今天又出现了, 想来想去都觉得不奇怪, 后面开始重新编译php, php的扩展都没编译,发现设置open_basedir的时候,却没有出错^^^ , 从这个信息觉得有些可以利用的,把自己方案所需的扩展都安装进去,重启apache的时候,却发现有出现这个错误, 把php.ini中设置的扩展一个一个的关闭,开始排查,后面吧eaccelerator注释掉后,重启apache并没有出现错误, 定位问题出现eaccelerator, 在用google查了下,发现eaccelerator 0.9.6后的版本跟以前的有些改变,把open_basedir给限制了,这时我们要把限制去掉才行
下载eaccelerator 0.9.6后先不要安装,解包后找到eaccelerator.c这个文件,打开第1156行,这样的:
if (PG(open_basedir) && php_check_open_basedir(realname TSRMLS_CC)) {
修改成:
if (PG(open_basedir) && php_check_open_basedir(file_handle->filename TSRMLS_CC)) {
修改后在进行编译,就ok了
发表评论
-
Linux下察看swap分区大小的命令
2016-10-01 00:57 1474Linux下察看swap分区大小的命令 top 或者f ... -
Htop安装使用
2014-03-15 14:06 1205Htop是个好东西 htop安装 htop官网源码下载 h ... -
Centos6.0使用第三方YUM源(EPEL,RPMForge,RPMFusion)
2014-03-15 12:49 1536Centos6.0使用第三方YUM源(EPEL,RPMForg ... -
ps aux stat状态解释
2014-02-26 11:54 1498分类: LINUX 运行 ps aux 的到如下信息: ... -
LVM管理及挂载LVM分区-相关
2013-12-22 21:31 9141,创建PV,先fdisk分区(w,写入分区表;partpro ... -
esxi5.1 开启SNMP
2013-08-14 14:10 1630一直知道SNMP在5.1下不是默认打开了,而且GUI那操作都是 ... -
重启Drac卡
2013-01-10 22:54 1536Drac重启。 有个卡的WEb也连不上,重启后正常了。 s ... -
克隆CentOS 6 网卡无法自动识别的解决方法
2012-08-29 01:12 1736VMware 下LINUX下使用ifconfig查看时无eth ... -
memcached 安装测试
2012-04-20 00:52 975http://www.monkey.org/~provos/l ... -
Linux 常用 命令
2012-03-25 00:14 721压缩解压: --------- 比如要打包的A目录在/home ... -
Linux下超大硬盘分构(gpt分区)
2012-03-01 01:41 3407安装CentOS 5.3 时,遇到的问题: 硬件环境:Dell ... -
VMware ESX Server时间较正
2011-10-19 12:42 1489VMware ESX Server的时间准确,比较重要,因为上 ... -
repair filesystem /etc/fstab readonly
2011-10-10 23:15 1776有时候,区块未格式化,或引用了不存在的标签,会造成系统启动不正 ... -
Nginx下WordPress设置Rewrite(含二级域名跳转)
2011-09-28 16:05 16025Apache 在Apache下,利用mod_rewrite来实 ... -
NFS 性能调优
2011-10-10 23:11 1737NFS 性能调优 在 NFS 网络中,服务器是调优的主要目标, ... -
hdparm (显示与设定硬盘的参数。)
2011-09-27 03:17 0语 法: hdparm [-Cfg ... -
mount与umount用法
2011-09-27 03:15 0打不开iso文件的时候,一个简单的命令经可以打开这个iso文件 ... -
NFS 檔案分享
2011-09-27 03:13 01 NFS 的用途 2 掛 ... -
NFS,Memcached,Tokyo tyrant实现session共享性能测试
2011-09-27 03:04 0<p>在我负责的某个 ... -
NFS 性能调优
2011-09-27 03:02 9067在 NFS 网络中,服务 ...
相关推荐
【PHP缓存加速器eAccelerator配置详解】 一、eAccelerator介绍 1、背景 eAccelerator是一款免费且开源的PHP加速器,它旨在提升PHP脚本的执行效率,通过缓存编译后的PHP代码,减少服务器负载。eAccelerator的出现...
4. 编译加速器:进入src目录,运行配置命令`./configure --enable-eaccelerator --with-php-config=$PHP_PREFIX/bin/php-config`,然后执行`make 2>&1 | tee make.log`进行编译,编译日志将保存在make.log文件中。...
一旦eAccelerator配置好并启动,它就会自动开始工作。你可以通过监控eAccelerator的统计信息来评估其性能,例如命中率、缓存大小等。这些信息通常可以在PHP的info.php页面中找到。 为了最大化eAccelerator的效果,...
这个标签有助于将讨论聚焦在这款PHP加速器上,它可以对PHP脚本进行编译和缓存,使得多次请求相同的PHP页面时,能够从内存中快速加载,而无需每次都解析和执行PHP代码。 【压缩包子文件的文件名称列表】包含两个文件...
如果您是把 eaccelerator 做为 PHP的一个扩展,要用下面的配置 ; extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/home/eaccelerator" eaccelerator.enable="1" ...
选择哪种加速器应根据具体的应用场景、服务器配置和性能需求来决定。对于大多数个人或中小型企业站点,eAccelerator和Xcache可能是更实用的选择,而大型分布式系统可能更适合使用Memcached或Redis。
eAccelerator通过将PHP代码编译成共享内存中的字节码来实现这一目的,从而减少了每次请求时解释PHP代码的时间。此外,它还可以缓存常量和变量,避免了重复编译,进一步提升了网站的响应速度。 PHPCoder与...
在Windows环境下编译、配置 eAccelerator 加速PHP 附eAccelerator.dll for php5.3.8 nts下载: http://www.oaxueyuan.com/compiled-in-a-windows-environment-configuration-eaccelerator-php-acceleration.html ...
eAccelerator是一个开源的PHP加速器、缓存器和优化器,它的主要目的是提高PHP应用程序的执行速度和效率。 【描述】"eAccelerator0953_5.2.10.dll"这个描述简洁明了,没有提供额外的信息,但我们可以推测,这是一个...
eAccelerator 是一个开源的 PHP 加速器,主要功能包括代码优化、编码器、以及动态内容缓存。其核心工作原理是在编译时将 PHP 脚本缓存起来,这样可以大幅减少系统开销,提高 PHP 脚本的执行性能,达到降低服务器负载...
总的来说,eAccelerator 是一个对 PHP 5.2.8 版本非常有价值的加速工具,尤其在 Windows 环境下,通过正确配置和使用 eAccelerator.dll 和 eLoader.dll,可以显著提升 PHP 应用的执行效率,降低服务器负载。...
**eAccelerator:高效能的PHP加速器** eAccelerator是一款专为PHP设计的高性能缓存和优化器,它的主要目标是提升PHP脚本的执行速度,减少服务器资源的消耗,从而提高整体Web应用程序的性能。这个开源软件通过将PHP...
"eAccelerator_096_php5213_vc6.zip" 这个标题指的是一款名为 "eAccelerator" 的软件的版本号为 0.9.6,专为 PHP 5.2.13 构建的优化加速器的Windows版本。"vc6" 表示它是使用Visual C++ 6编译器编译的,这通常是针对...
总的来说,eAccelerator作为一款强大的PHP加速器,通过缓存和优化代码,能够有效提升PHP应用的运行效率,尤其是在处理大量数据或高并发请求的场景下。结合其提供的API,开发者可以构建出更加高效、响应快速的Web应用...
然而,随着技术的发展,现代的PHP加速器如OPcache(集成在PHP内核)提供了更先进的功能和更好的性能,逐渐取代了eAccelerator的地位。 解压eaccelerator-0.9.6.1.zip后,你会得到eAccelerator的源代码和其他相关...