LAMP是由Apache通过libphp5.so来调用PHP,LNMP是由Nginx通过fcgi(php-fpm)来调用PHP,两者的优化最后都是对PHP的优化,主要是针对一个主配置文件php.ini,Nginx可能还要对php-fpm.conf进行一下优化。
(1)PHP如果不做优化或正常优化,其并发也就只有300-1000个,原因是每次都要对程序进行编译解析。解决办法就是缓存,也就是将解析结果进行缓存,称为操作码缓存(Opcode cache)。
(2)受制于后端的数据库和存储的并发。解决办法是在数据库和存储前面缓存。
当请求一个PHP程序时,PHP引擎会解析该程序,并将它们编译为特定操作码(也就是生成可以直接运行的中间代码:一种二进制表示形式),也称为操作码(Operate Code,简写为opcode)。随后,此操作码由PHP引擎执行并丢弃。而操作码缓存将会保存这个编译后的操作码,并在一下次调用该页面时重用它,这会节省很多重复编译的时间。操作码缓存的目地是避免重复编译,减少CPU和内存开销。操作码缓存主要有eAccelerator、XCache、APC等,只需安装其中一个就行了。
(1)Apache接收客户的PHP程序请求,并根据规则过滤之。
(2)Apache将PHP程序请求传送给PHP处理模块libphp5.so。
(3)PHP引擎定位磁盘上的PHP文件,并将其加载到内存中解析。
(4)PHP处理模块libphp5.so将PHP源代码编译成为操作码。
(5)PHP处理模块libphp5.so执行操作码,然后把操作码缓存起来。(这步就是速器要解析的)
(6)Apache接收客户端新的PHP程序请求,PHP引擎直接读取缓存执行操作码文件。
(1)Nginx接收客户端的PHP程序访问请求。
(2)Nginx根据扩展名等过滤规则将PHP程序请求传递给解析PHP的FCGI(php-fpm)进程。
(3)PHP FPM进程调用PHP解析器读取站点磁盘上的PHP文件,并加载到内存中。
(4)PHP解析器将PHP程序编译成为操作码文件,然后把操作码缓存起来。(这步就是速器要解析的)
(5)PHP FPM引擎执行操作码后,返回数据给Ngnix,进而返回客户端。
(6)Nginx接收客户新的PHP程序请求,PHP FPM引擎就会直接读取缓存中的操作码并执行,将结果返回
主要有eAccelerator、XCache、APC、Zend等
选择建议为在eAccelerator和XCache之间,二选一。网友测试结果是:XCache > eAccelerator.原因是XCache更快一些,且开发社区更活跃。
主要有Memcache、Redis。
主要有CDN等。
软件 |
版本 |
Linux |
RHEL6.4_32/CentOS6.8_64 |
Apache/Nginx |
2.2.27/1.6.2 |
MySQL |
5.1.72/5.5.32 |
PHP |
5.3.27 |
通过SecureCRT的交互窗口,同时操作LAMP和LNMP所在的两台虚拟机。
cat /etc/redhat-release
uname –m
/application/apache/bin/apachectl –v
Server version: Apache/2.2.27 (Unix)
/application/nginx/sbin/nginx -v
nginx version: nginx/1.6.2
/application/php/bin/php –v
PHP 5.3.27 (cli) (built: Mar 5 2017 18:07:41)
mysql -uroot –p123456
LAMP: Server version: 5.1.72 Source distribution
LNMP: Server version: 5.5.32 MySQL Community Server (GPL)
yum grouplist
/application/nginx/sbin/nginx –V
nginx version: nginx/1.6.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx--prefix=/application/nginx1.6.2 --with-http_stub_status_module--with-http_ssl_module
/application/apache/bin/apachectl–V #可以查看,但不全
Server version: Apache/2.2.27 (Unix)
Architecture: 32-bit
Server MPM: Worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-DAPACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
...
cat/application/apache/build/config.nice #用这个查看编译的参数
#! /bin/sh
#
# Created by configure
"./configure" \
"--prefix=/application/apache2.2.27" \
"--enable-deflate" \
"--enable-expires" \
"--enable-headers" \
"--enable-moules=most" \
"--enable-so" \
"--with-mpm=worker" \
"--enable-rewrite" \
"$@"
grep CONFIGURE_LINE /application/mysql/bin/mysqlbug
CONFIGURE_LINE="./configure '--prefix=/application/mysql5.1.72''--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock''--localstatedir=/application/mysql5.1.72/data' '--enable-thread-safe-client''--with-mysqld-user=mysql' '--with-big-tables' '--without-debug''--with-pthread' '--enable-assembler' '--with-extra-charsets=complex''--with-readline' '--with-ssl' '--with-embedded-server' '--enable-local-infile''--with-plugins=partition,innobase' '--with-mysqld-ldflags=-all-static''--with-client-ldflags=-all-static'"
`test -n"$CONFIGURE_LINE" &&echo "Configure command: $CONFIGURE_LINE"`
/application/php/bin/php -i | grep configure
#LAMP:
Configure Command => './configure' '--prefix=/application/php5.3.27' '--with-apxs2=/application/apache/bin/apxs''--with-mysql=/application/mysql' '--with-xmlrpc' '--with-openssl''--with-zlib' '--with-freetype-dir' '--with-gd' '--with-jpeg-dir''--with-png-dir' '--with-iconv=/usr/local/libiconv' '--enable-short-tags''--enable-sockets' '--enable-zend-multibyte' '--enable-soap''--enable-mbstring' '--enable-static' '--enable-gd-native-ttf' '--with-curl''--with-xsl' '--enable-ftp' '--with-libxml-dir'
#LNMP:
Configure Command => './configure' '--prefix=/application/php5.3.27' '--with-mysql=/application/mysql''--with-iconv-dir=/usr/local/libiconv' '--with-freetype-dir' '--with-jpeg-dir''--with-png-dir' '--with-zlib-dir' '--with-libxml-dir=/usr' '--enable-xml''--disable-rpath' '--enable-safe-mode' '--enable-bcmath' '--enable-shmop''--enable-sysvshm' '--enable-inline-optimization' '--with-curl''--with-curlwrappers' '--enable-mbregex' '--enable-fpm' '--enable-mbstring''--with-mcrypt' '--with-gd' '--enable-gd-native-ttf' '--with-openssl''--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip''--enable-soap' '--enable-short-tags' '--enable-zend-multibyte''--enable-static' '--with-xsl' '--with-fpm-user=nginx' '--with-fpm-group=nginx''--enable-ftp'
由于PHP的加速器主要都是perl语言写的或与perl相关,所以首先要解决perl的编译问题,防止后面在安装php加速器时,出现编译问题。通过SecureCRT的交互窗口,同时操作LAMP和LNMP所在的两台虚拟机。
a、为了去除所有本地化的设置,保证命令能正确执行
echo "export LC_ALL=C" >> /etc/profile
b、查看是否设置成功
tail -1 /etc/profile
export LC_ALL=C
c、让设置生效
source /etc/profile 或 . /etc/profile
d、说明:
在很多的shell脚本中,我们经常会看见某一句命令的前面有一句“LC_ALL=C”,这到底是什么意思?LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行。
在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:
(i)LC_COLLATE:定义该环境的排序和比较规则
(ii)LC_CTYPE:用于字符分类和字符串处理。
控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。
(iii)LC_MONETARY:货币格式
(iv)LC_NUMERIC:非货币的数字显示格式
(v)LC_TIME:时间和日期格式
(vi)LC_MESSAGES:提示信息的语言。
另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。
(vii)LANG:LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于LC_ALL。
(viii)LC_ALL:它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。
注意,LANG的值不受该宏影响。C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
yum –y install perl-CPAN 或yum –y install perl-devel
eAccelerator是一个自由开放源码php加速、优化和动态内容缓存的扩展模块,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。eAccelerator的前身是truck-mmcache。缺点是开发已不够活跃。
eaccelerator-0.9.6版本的是针对PHP5.3.XX版本,如果是PHP5.2.XX版本,则会在make时报错:make ***[optimize.lo] Error 1。PHP5.2.XX应使用eaccelerator-0.9.5.2版本。其它php和eaccelerator的对应关系,参考官方文档。
tar -jxf eaccelerator-0.9.6.tar.bz2
cd eaccelerator-0.9.6
/application/php/bin/phpize
说明:php在安装第三方插件之前,一般都要执行一下该命令。phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。
./configure --enable-eaccelerator=shared--with-php-config=/application/php/
bin/php-config
make
make install
说明:make install后,会在相应扩展路径下生成eaccelerator.so的模块文件
LAMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
LNMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ll /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ll /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
-rwxr-xr-x 1 root root 345542 Mar 16 17:21 eaccelerator.so
XCache 是一个又快又稳定的 PHP opcode 缓存器.经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1PHP_5_2 HEAD(6.x), 并支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹, 比如能够快速跟进 PHP 版本. XCache能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高页面生成速率2到5倍, 降低服务器负载.
tar jxf xcache-1.3.2.tar.bz2
cd xcache-1.3.2
/application/php/bin/phpize
./configure --enable-xcache--with-php-config=/application/php/bin/php-config
make
make install
说明:make install后,会在相应扩展路径下生成xcache.so的模块文件
LAMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
LNMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
eaccelerator.so xcache.so
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。MemCache分为服务端软件和客户端插件两部分:
服务端软件:memcached。本课程中使用的是memcached-1.4.3
客户端软件:memcache。本课程中使用的是memcache-2.2.5
MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
tar zxf memcache-2.2.5.tgz
cd memcache-2.2.5
/application/php/bin/phpize
./configure --with-php-config=/application/php/bin/php-config
make
make install
说明:make install后,会在相应扩展路径下生成memcache.so的模块文件
LAMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
LNMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
eaccelerator.so memcache.so xcache.so
PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
tar zxf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/application/php/bin/phpize
./configure--with-php-config=/application/php/bin/php-config--with-pdo-mysql=/application/mysql
make
make install
说明:make install后,会在相应扩展路径下生成pdo_mysql.so的模块文件
LAMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
LNMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
eaccelerator.so memcache.so pdo_mysql.so xcache.so
ImageMagick图片处理是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过90种的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。[1] 利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。主要功能如下:
(1)将图片从一个格式转换到另一个格式,包括直接转换成图标。
(2)改变尺寸、旋转、锐化(sharpen)、减色、图片特效
(3)缩略图片的合成图( a montage of imagethumbnails)
(4)适于web的背景透明的图片
(5)将一组图片作成gif动画,直接convert
(6)将几张图片作成一张组合图片,montage
(7)在一个图片上写字或画图形,带文字阴影和边框渲染。
(8)给图片加边框或框架
(9)取得一些图片的特性信息
(10)几乎包括了gimp可以作到的常规插件功能。甚至包括各种曲线参数的渲染功能。
imagick扩展模块是一个可以供PHP调用ImageMagick功能的PHP扩展。使用这个扩展可以使PHP具备和ImageMagick相同的功能。imagick插件工作需要ImageMagick软件的支持,所以必须要先安装ImageMagick,否则会报错是。
tar zxf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2
./configure
make
make install
如果没有安装 perl库,则会在make时报PerMagick/Makefile Error 2的错误。
解决办法:yum –y install perl-CPAN 或 yum –y install perl-devel
tar zxf imagick-2.3.0.tgz
cd imagick-2.3.0
/application/php/bin/phpize
./configure --with-php-config=/application/php/bin/php-config
make
make install
说明:make install后,会在相应扩展路径下生成memcache.so的模块文件
LAMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
LNMP路径是:/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/
eaccelerator.so imagick.so memcache.so pdo_mysql.so xcache.so
cd /application/php/lib
cp php.ini php.ini.root.20170317
LNMP:
修改前:; extension_dir = "./"
修改后:extension_dir= "/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/"
LAMP:
修改前:; extension_dir = "./"
修改后:extension_dir= "/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/"
extension = memcache.so
extension = pdo_mysql.so
extension = imagick.so
LNMP:
pkill php-fpm
/application/php/sbin/php-fpm
LAMP:
pkill apache
/application/apache/bin/apachectl start
LNMP:
http://www.abc.org/phpinfo.php
LAMP:
ifconfig eth0:1 192.168.188.99/24 up
http://192.168.188.99/phpinfo.php
通过Ctrl+F在页面搜索上面三个模块。
mkdir -p /tmp/eaccelerator
说明:
此目录是用来做缓存,可以用tmpfs内存文件系统来存储(mount到tmpfs下),也可以放在快盘上(SSD)。tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。tmpfs 的主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。即使用了一些交换分区,性能仍然是卓越的,当更多空闲的 VM 资源可以使用时,这部分 tmpfs 文件系统会被移动到 RAM 中去。
LNMP:
chown -R nginx.nginx /tmp/eaccelerator
LAMP:
chown -R httpduser.httpduser /tmp/eaccelerator
可以通过grep User/application/apache/conf/httpd.conf命令来查看apache的web操作用户
cat >> /application/php/lib/php.ini< [eaccelerator] extension=eaccelerator.so eaccelerator.shm_size="64" 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" EOF tail -20 /application/php/lib/php.ini /application/php/bin/php -v PHP 5.3.27 (cli) (built: Mar 5 2017 18:07:41) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies with eAccelerator v0.9.6, Copyright (c) 2004-2010eAccelerator, by eAccelerator ll /tmp/eaccelerator drwxrwxrwx 18 root root 4096 Mar 18 04:20 0 drwxrwxrwx 18 root root 4096 Mar 18 04:20 1 drwxrwxrwx 18 root root 4096 Mar 18 04:20 2 drwxrwxrwx 18 root root 4096 Mar 18 04:20 3 drwxrwxrwx 18 root root 4096 Mar 18 04:20 4 drwxrwxrwx 18 root root 4096 Mar 18 04:20 5 drwxrwxrwx 18 root root 4096 Mar 18 04:20 6 drwxrwxrwx 18 root root 4096 Mar 18 04:20 7 drwxrwxrwx 18 root root 4096 Mar 18 04:20 8 drwxrwxrwx 18 root root 4096 Mar 18 04:20 9 drwxrwxrwx 18 root root 4096 Mar 18 04:20 a drwxrwxrwx 18 root root 4096 Mar 18 04:20 b drwxrwxrwx 18 root root 4096 Mar 18 04:20 c drwxrwxrwx 18 root root 4096 Mar 18 04:20 d drwxrwxrwx 18 root root 4096 Mar 18 04:20 e drwxrwxrwx 18 root root 4096 Mar 18 04:20 f tree /tmp/eaccelerator /tmp/eaccelerator |-- 0 | |-- 0 | |-- 1 | |-- 2 。。。 |-- 1 | |-- 0 | |-- 1 | |-- 2 。。。 如果配置了Zend,则[eaccelerator]模块段的配置必须放在Zend的内容配置前面。由于Zend仅支持到PHP5.2,所以现在一般也不会配置Zend了,可以不用考虑Zend了。 find /tmp/eaccelerator/ -type f LNMP: http://www.abc.org/phpinfo.php LAMP: http://192.168.188.99/phpinfo.php find /tmp/eaccelerator/ -type f Apache: /application/apache/bin/apachectl graceful Nginx: kill -USR2 `cat /application/php/logs/php-fpm.pid` #通过kill+信息量来重启相关服务 LNMP: http://www.abc.org/phpinfo.php LAMP: http://192.168.188.99/phpinfo.php find /tmp/eaccelerator/ -type f /tmp/eaccelerator/0/5/eaccelerator-1502.1022381 eAccelerator和XCache有冲突,只能使用一个。该例是在Apache环境下使用XCache,所以必须将php.ini中的[eaccelerator]模块内容注释掉。 vi /wddg/tools/php-cache/xcache-1.3.2/xcache.ini :set nu #打开行号 ;zend_extension =/usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so ;zend_extension_ts = c:/php/extensions/php_xcache.dll 修改前:;extension = xcache.so 修改后:extension = xcache.so 修改前:xcache.size = 60M 修改后:xcache.size = 128M 修改前:xcache.count = 1 修改后:xcache.count = 2 说明:此项根据cat /proc/cpuinfo | grep -cprocessor的结果来配置 修改前:xcache.ttl = 0 修改后:xcache.ttl = 86400 修改前:xcache.gc_interval = 0 修改后:xcache.gc_interval = 3600 修改前:xcache.var_size = 4M 修改后:xcache.var_size = 16M ;[eaccelerator] ;extension=eaccelerator.so ;eaccelerator.shm_size="64" ;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" cat /wddg/tools/php-cache/xcache-1.3.2/xcache.ini >> /application/php/lib/php.ini /application/php/bin/php -v /application/apache/bin/apachectl graceful4、查看追加是否成功
5、查看配置是否成功和生效(不需要重启)
6、查看/tmp/eAcceleratork下的内容(每个目录下有16个文件)
6、注意事项
7、测试
(1)确认/tmp/eaccelerator下只有目录,没有文件(说明还没有缓存)
(2)通过访问动态页面phpinfo.php查看eaccelerator缓存是否生效
(3)再次查看/tmp/eaccelerator目录,还是没有文件
(4)重启apache服务和php-fpm服务
(5)再次通过访问动态页面phpinfo.php
(6)再次查看/tmp/eaccelerator目录,出现缓存文件
八、配置和测试PHP操作码缓存:XCache
1、说明
2、编辑XCache源安装目录中的xcache.ini文件
(1)注释第3行的zend_extension
(2)注释第6行的zend_extension_ts
(3)打开第8行的xcache.so
(4)修改第25行的xcache.size,指定缓存大小
(5)修改第27行的xcache.count,指定将 cache 切分成多少块
(6)修改第31行的xcache.ttl,指定缓存生效的时间(0=永不过期)
(7)修改第33行的xcache.gc_interval,指定回收的间隔
(8)修改第36行的xcache.var_size,检查过期项目,回收内存空间的间隔
3、注释eaccelerator
4、将XCache源安装目录中的xcache.ini文件内容拷贝到php.ini最后面
5、检查配置是否成功
6、重启apache服务