多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP缓存工具XCache安装与使用案例解析

时间:2018-07-11 17:45:12 [来源]:郑州PHP培训学校

   PHP缓存工具XCache安装与使用案例解析

  这次给大家带来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、在PHP.ini文件加入
  [XCache]
  Zend_extension_ts=php_xcache.dall
  在Liunx系统上安装XCache
  wget <a rel="nofollow" href="http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz" target="_blank">http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz</a>
  tar -zxvf xcache-1.3.2.tar.gz
  cd xcache-1.3.2
  phpize
  ./configure --enable-xcache
  make
  make install doc.codesky.net
  打开php.ini文件,增加如下代码:
  [xcache-common]
  ; change me - 64 bit php => /usr/lib64/php/modules/xcache.so; 32 bit php => /usr/lib/php/modules/xcache.sozend_extension = /usr/lib64/php/modules/xcache.so[xcache.admin]
  xcache.admin.auth = On
  xcache.admin.user = "mOo"
  ; xcache.admin.pass = md5($your_password)xcache.admin.pass = ""
  [xcache]
  xcache.shm_scheme =    "mmap"
  xcache.size =        32M
  xcache.count =         1
  xcache.slots =        8K
  xcache.ttl  =       3600
  xcache.gc_interval =     300
  ; Same as aboves but for variable cache
  ; If you don't know for sure that you need this, you probably don'txcache.var_size =      0M
  xcache.var_count =       1
  xcache.var_slots =      8K
  xcache.var_ttl  =       0
  xcache.var_maxttl  =     0
  xcache.var_gc_interval =   300
  ; N/A for /dev/zero
  xcache.readonly_protection = Off
  xcache.mmap_path =  "/dev/zero"
  xcache.cacher =        On
  xcache.stat  =        On
  注意修改zend_extension = /usr/lib64/php/modules/xcache.so为正确的路径。
  XCache设置
  xcache.admin.user (String) 管理认证用户名。默认设置"mOo"xcache.admin.pass (String)管理认证密码。默认设置为"<empty string>"。此值应该是MD5(你的密码)xcache.admin.enable_auth (String)启用或禁用管理站点的身份验证。默认值"on"xcache.test (String)启用或禁用测试功能
  xcache.coredump_dir (String)在遇到故障时,放置核心转储的目录。必须是PHP可写入的目录。保留为空带表禁用xcache.cacher (Boolean) 启用或禁用Opcode 缓存。默认开启xcache.size (int)所有共享缓存的大小。如果为0,缓存将无法使用xcache.count (int)缓存被分割的“块”数。默认值1xcache.slots 哈希表提示。数字越大,哈希表内进行的搜索速度就越快。此值越高,所需内存也越多xcache.ttl (int)Opcode文件的生存时间。0=无限期缓存xcache.gc_interval (秒) 触发垃圾回收的时间间隔。默认0xcache.var_size (int)变量大小
  xcache.var_count (int)变量个数
  xcache.var_slots 可变数据槽设置
  xcache.var_ttl (秒)可变数据的生存时间,默认设置0xcache.var_maxttl (秒)处理变量时最大的生存时间xcache.var_gc_interval (秒)垃圾回收的生存时间xcache.readonly_protection (Boolean)启用ReadonlyProtection时可用。
  xcache.mmap_path (String)用于只读保护的文件路径。这将限制两个PHP组共享同一个/tmp/cache目录xcache.optimizer (Boolean)启用或禁用优化 默认禁用xcache.coverager (Boolean)启用覆盖范围数据集合。
  xcache.coveragerdump_directory (String)放置数据集合信息的目录位置。默认使用目录/tmp/pcovisPHP使用zlib扩展实现GZIP压缩输出步骤解析
  这次给大家带来PHP使用zlib扩展实现GZIP压缩输出步骤解析,PHP使用zlib扩展实现GZIP压缩输出的注意事项有哪些,下面就是实战案例,一起来看一下。
  一般情况下我们出现大量数据传输理希望减少服务器的带宽压力,会采取一种方式来压缩文件传输,php中用zlib也可以实现gzip压缩输出,下面我们来看GZIP压缩输出各种方法总结.
  GZIP(GNU-ZIP)是一种压缩技术。经过GZIP压缩后页面大小可以变为原来的30%甚至更小。这样用户浏览的时候就会感觉很爽很愉快!
  准备工作
  1、找不到php_zlib.dll文件?
  自php4.3开始zlib压缩就已经内置在php中了,所以至少Windows环境下是不需要安装zlib的。
  2、安装搭建php运行环境
  由于光通过php.ini配置文件开启gzip配置实现php gzip压缩输出是不行的,其需要apache的支持,所以建议安装搭建php+apache+mysql运行环境。
  php gzip配置步骤
  一、打开php.ini配置文件,找到zlib.output_compression = Off,将zlib.output_compression = Off
  ;zlib.output_compression_level = -1
  修改为
  zlib.output_compression = On
  zlib.output_compression_level = 6
  实例1
  PHP使用zlib扩展实现页面GZIP压缩输出
  代码
  function ob_gzip($content) // $content 就是要压缩的页面内容{
  if(!headers_sent() && extension_loaded("zlib") && strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip"))//判断页面头部信息是否输出,PHP中zlib扩 展是否已经加载,浏览器是否支持GZIP技术{
  $content = gzencode($content." n//此页已压缩",9); //为准备压缩的内容贴上"//此页已压缩"的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0 表示无压缩,9表示最大压缩,当然压缩程度越高越费CPU。
  //用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了!
  header("Content-Encoding: gzip");
  header("Vary: Accept-Encoding");
  header("Content-Length: ".strlen($content));}
  return $content; //返回压缩的内容
  函数写好后,就用ob_start调用它,于是原来的ob_start()变成复制代码 代码如下:
  ob_start('ob_gzip'); //给ob_start()加一个参数,参数名就是刚才的函数名。这样当内容进入缓冲区后PHP就会调用ob_gzip函数把它压缩了。
  最后结束缓冲区
  复制代码 代码如下:
  ob_end_flush(); //结束缓冲区,输出内容。当然,不用这个函数也行,因为程序执行到最后会自动将缓冲区内容输出。
  详细介绍JS中使用EL表达式
  分两种情况:1. JS代码在JSP页面中, 这可以直接使用EL表达式。2.JS代码是单独的.js 文件, 通过引入到 JSP中来.这时候可通过提前定义JS变量的形式的解决1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如:
  [html] view plain copy
  <script type="text/javascript">
  $(function () {
  new BacklogOverview("${param.alert}");
  });
  </script>
  2.JS代码是单独的.js 文件, 通过引入到 JSP中来.这时候可通过提前定义JS变量的形式的解决,如:
  [html] view plain copy
  <c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>
  <script>
  <%--JS gloable varilible--%>
  var contextPath = "${contextPath}";
  </script>
  在JSP页面上定义JS变量 contextPath.
  这样在之后引入的JS文件中就可以使用contextPath变量了.
  [html] view plain copy
  //Image setting
  config.filebrowserImageUploadUrl = contextPath + "/ckeditor/upload.htm";上面是我整理给大家的JS中使用EL表达式,希望今后会对大家有帮助。
 

上一篇:在PHP中使用与Perl兼容的正则表达式

下一篇:11种php编程典型安全隐患及处理