配置eAccelerator和XCache扩展来加速PHP程序的执行

eaccelerator安装配置PHP加速
eAccelerator简介
eAccelerator是一个的免费、开源的PHP模块,它能够为提供PHP加速、优化、加码、和动态内容缓存功能。它通过存储PHP脚本编译后的状态而加快执行PHP脚本的速度,而不需要频繁的编译这个PHP脚本。而且它能优化PHP脚本,以提高执行PHP的速度。eAccelerator特色是减少了服务器负载、使PHP脚本加速1-10倍。
下载地址:http://sourceforge.net/projects/eaccelerator/
解压修改源代码(解决出现open_basedir等报错)

# tar jxvf eaccelerator-0.9.6.tar.bz2
# cd eaccelerator-0.9.6/
# vi eaccelerator.c

找到以下:

if (PG(open_basedir) && php_check_open_basedir(realname TSRMLS_CC)) {

改为

if (PG(open_basedir) && php_check_open_basedir(file_handle->filename TSRMLS_CC)) {

编译安装扩展eaccelerator

# /usr/local/php-5.2.14/bin/phpize # 对应你自己的phpize,一定要在eaccelerator-0.9.6目录执行
# ./configure
–enable-eaccelerator \
–with-php-config=/usr/local/php-5.2.14/bin/php-config
# make
# make install # 会提示你扩展装到了哪个目录,我这边是/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/

配置php.ini
如果本机之前有加过扩展,直接跳到下一步“添加eacclerator扩展”

Vi /usr/local/php-5.2.14/etc/php.ini

extension_dir = ./

替换成

extension_dir=/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/

添加eacclerator扩展

# vi /usr/local/php-5.2.14/etc/php.ini

增加如下内容

 [eaccelerator]
 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″

创建eaccelerator目录

# mkdir /tmp /eaccelerator
# chmod 777 /tmp/eaccelerator

重启测试
重启apache或者nginx,并且查看效果,如果/tmp/eaccelerator下有目录,说明安装成功了。
配置参数详解(eaccelerator)

eaccelerator.shm_size=”8″

eAccelerator 可以使用的共享内存的数量 (以兆为单位) . “0” 是指操作系统的默认值. 默认值是 “0”.可根据服务器的实际情况来调整,8,16,32,64,128都是可以的。

eaccelerator.cache_dir=”/tmp/eaccelerator ”

这个目录是给磁盘缓存使用. 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 不缓存数据

PHP扩展xcache安装
xcache模块可以缓存php运行时编译生成的opcode可以加速php程序的效率,安装xcache和安装memcache方法类似,都是以扩展的方式安装,PHP任何扩展方法基本上都是如下,所以不需要特意去找xxx扩展的文档.
安装PHP扩展xcache

# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
# tar -xvf xcache-3.2.0.tar.gz
# cd xcache-3.2.0
# ./configure –with-php-config=/usr/local/php/bin/php-config –enable-xcache
# make && make install

会生成类似如下信息

Installing shared extensions:  /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

所有的模块都会生成到这个目录下
编辑php配置文件

# vim /usr/local/php/etc/php.ini
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so

重载PHP

# service php-fpm reload

如果是你Apache+PHP模式,那么重启Apache即可.

# service httpd restart

或者

# /usr/local/apache-2.2.27/bin/apachectl restart

测试结果

(0)

相关推荐

  • CentOS 6.3下安装PHP xcache扩展模块笔记

    安装环境centOS6.3 APACHE:apache-2.4.4 PHP:5.4.13 1.安装xchache: 复制代码 代码如下: # wget http://xcache.lighttpd.net/pub/Releases/3.0.1/xcache-3.0.1.tar.gz # tar xf xcache-3.0.1.tar.gz # cd xcache-3.0.1       #xcache是php的扩展,要使用php命令加载此扩展 # /usr/local/php5/bin/phpi

  • win2003+IIS下安装Xcache加速的配置方法分享

    在论坛后台看了半天,只有内存优化一个还没有做,但是自己以前又没有弄过,只有学了. 论坛支持Memcache.eAccelerator.Alternative PHP Cache(APC).Xcache 四种优化方式,在网上搜了很久,Memcache看的有点头晕,eAccelerator也有点莫名奇妙,最终选择Xcache. 经过一番摸索后把这个加速搞定了,手机进的时候都快了很多,效果看起来还是挺明显的,现在把配置方法写下来,以免以后重装系统或换服务器什么的又忘了怎么弄. Xcache下载地址:

  • IIS服务器下安装配置XCache缓存器方法及XCache下载

    WIN2003+IIS6为php安装Xcache缓存器 解压Xcache,把php_xcache.dll放在php.ini中指定extension_dir中(本例为"D:\php\ext). 下面开始配置,打开php.ini 添加(记得是添加,不要更换原来的zend_extension_ts参数) zend_extension_ts = "($extension_dir)\php_xcache.dll" 配置的时候,把($extension_dir)替换成绝对路径ext(如:

  • 基于xcache的配置与使用详解

    一.安装Xcache 复制代码 代码如下: # wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz# tar zxvf xcache-1.3.0.tar.gz# cd xcache-1.3.0# /usr/local/php/bin/phpize# ./configure --enable-xcache--enable-xcache-coverager --enable-xcache-optimizer--

  • ubuntu下编译安装xcache for php5.3 的具体操作步骤

    wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gzsudo tar -xzvf  xcache-1.3.0.tar.gz cd  xcache-1.3.0 sudo /usr/local/php-5.3.3/bin/phpize sudo ./configure --with-php-config=/usr/local/php-5.3.3/bin/php-config sudo makesudo make

  • Linux下安装php加速软件Xcache的方法

    说明: php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php/etc/php.ini Nginx安装目录:/usr/local/nginx Nginx网站根目录:/usr/local/nginx/html 1.安装xcache cd /usr/local/src #进入软件包存放目录 wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz #下载 tar zxv

  • 使用Xcache缓存器加速PHP网站的配置方法

    推荐地址:http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps1/ 由于国内网站备案比较麻烦,所以笔者便把网站放到了香港.虽然网站免去了备案的困扰,但是从访问速度上来看,一般要比放于国内的网站慢2-3倍,所以便想办法对网站做了一些简单的优化,比如使用缓存系统来提升网站页面访问速度. 目前用于Web的缓存系统很多,包括squid.varnish.Nginx自带的proxy_cache.FastCGI中的fastcgi_cac

  • XCache在Win2003 IIS6下的成功配置方法与疑难解答

    XCache是一种新的php缓存器,经过本人测试,在Windows下效果比同类软件强很多. 实际测试效果如下(非科学方法): 原网页平均执行时间: 0.13 秒 加速后网页平均执行时间: 0.03秒 原CPU占用率: 15% - 60% 加速后CPU占用率: 3% - 30% 由上数据可以看出,使用这个加速器可以很大程度的降低CPU占用(但会造成更多的内存占用),并使网页执行时间缩短. 由于其他同类软件对Windows的支持不够好,所以选用XCache. 网上很多说明都不够详细,所以给大家写一篇

  • 教你一步一步在linux中正确的安装Xcache加速php

    首先,强烈吐槽,百度上的教程,都左复制右复制的,乱七八糟,缺东缺西的.借此微凉大大我提供我苦心整理好的教程.以便各位小菜能顺利的使用Xcache加速php,如果看完了,也操作了,还是失败了的话,请联系微凉大大的QQ 496928838,微凉大大也想看看你是如何一步一步都装不上. #第一步,下载Xcache wget http://xcache.lighttpd.net/pub/Releases/3.1.0/xcache-3.1.0.tar.gz #第一步非常简单,如果你下载不了就是人品问题. #

  • 配置eAccelerator和XCache扩展来加速PHP程序的执行

    eaccelerator安装配置PHP加速 eAccelerator简介 eAccelerator是一个的免费.开源的PHP模块,它能够为提供PHP加速.优化.加码.和动态内容缓存功能.它通过存储PHP脚本编译后的状态而加快执行PHP脚本的速度,而不需要频繁的编译这个PHP脚本.而且它能优化PHP脚本,以提高执行PHP的速度.eAccelerator特色是减少了服务器负载.使PHP脚本加速1-10倍. 下载地址:http://sourceforge.net/projects/eaccelerat

  • 使用Pyrex来扩展和加速Python程序的教程

    Pyrex 是一种专门设计用来编写 Python 扩展模块的语言.根据 Pyrex Web 站点的介绍,"它被设计用来在友好易用的高级 Python 世界和凌乱的低级 C 世界之间搭建一个桥梁."虽然几乎所有的 Python 代码都可以作为有效的 Pyrex 代码使用,但是您可以在 Pyrex 代码中添加可选的静态类型声明,从而使得这些声明过的对象以 C 语言的速度运行. 加速 Python 从某种意义上来说,Pyrex 只是不断发展的 Python 类语言系列的一个部分:Jython

  • win2003服务器之用Zend和eAccelerator在IIS6下同时加速

    它还有对脚本起优化作用,以加快其执行效率.使您的PHP程序代码执效率能提高1-10倍: 官方主页: http://eaccelerator.net 在Zend Optimizer的基础上再运行eAccelerator,我的PHP测试环境主要是Windows的IIS6+php-5.2.13环境,我在本机服务器和远程VMWARE主机上安装都轻松配置成功,但是在一台远程VPS服务器上安装,却怎么都没有安装成功,PHP版本和对应的eAccelerator从PHP5.2.13一直降到PHP5.2.11,

  • PHP缓存工具XCache安装与使用方法详解

    本文实例讲述了PHP缓存工具XCache安装与使用方法.分享给大家供大家参考,具体如下: XCache是另外一种在PHP中使用的Opcode缓存工具.像APC一样,XCache在共享内存中存储Opcode,并使用缓存的Opcode来响应对PHP脚步的请求. 在Windows系统上安装XCache 1.在http://xcache.lighttpd.net/pub/ReleaseArchive 根据你的PHP版本,下载对应的软件包. 2.解压后把php_xcache.dll复制到ext目录中 3.

  • java的JIT 工作原理简单介绍

    1.JIT的工作原理图 工作原理 当JIT编译启用时(默认是启用的),JVM读入.class文件解释后,将其发给JIT编译器.JIT编译器将字节码编译成本机机器代码. 通常javac将程序源代码编译,转换成java字节码,JVM通过解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译.很显然,经过解释执行,其执行速度必然会比可执行的二进制字节码程序慢.为了提高执行速度,引入了JIT技术. 在运行时JIT会把翻译过的机器码保存起来,已备下次使用,因此从理论上来说,采用该JIT技术可以,可以接

  • 对numpy中的where方法嵌套使用详解

    如同for循环一样,numpy中的where方法可以实现嵌套功能.这是简化嵌套式矩阵逻辑的一个很好的方法. 假设有一个矩阵,需要把小于0的元素改成-1,大于0的元素改成1,而等于0的时候不做修改. 那么,对应的代码示范如下: #!/usr/bin/python import numpy as np data = np.random.randn(4,5) data1 =np.where(data > 0,1, np.where(data <0,-1,0)) print("dataval

  • ​​​​​​​Java公平锁和非公平锁的区别

    目录 正文 应用场景 公平和非公平锁代码演示 执行流程分析 公平锁执行流程 非公平锁执行流程 优缺点分析 总结 前言: 从公平的角度来说,Java 中的锁总共可分为两类:公平锁和非公平锁.但公平锁和非公平锁有哪些区别?孰优孰劣呢?在 Java 中的应用场景又有哪些呢?接下来我们一起来看. 正文 公平锁:每个线程获取锁的顺序是按照线程访问锁的先后顺序获取的,最前面的线程总是最先获取到锁.非公平锁:每个线程获取锁的顺序是随机的,并不会遵循先来先得的规则,所有线程会竞争获取锁.  举个例子:公平锁就像

  • 在Win7 中为php扩展配置Xcache

    XCache 工程由 mOo 领队, 他也是 Lighttpd 的开发成员之一. Lighttpd 是最快的 Web 服务器应用程序之一, 并且超越 Apache 以及许多其他 Web 服务器. XCache 努力达到类似的效果. 目前最新的版本为XCache 3.2.0,它是php5全系列支持的,官方网站: http://xcache.lighttpd.net/ 如果英文不好的朋友,可以点右边切换语言为中文. 首先下载最新的版本: http://xcache.lighttpd.net/pub/

随机推荐