php缓存相关

在php运行期间,php引擎要对php源码进行处理,(词法分析,语法分析等)然后生成opcode。

然后再运行。在这个阶段可以把opcode缓存起来,当下次需要运行这段程序的时候,就避免了再次 进行词法分析,语法分析,直接拿opcode来用。

eAccelerator就是这样的程序。

 

vld查看php的opcode:

http://pecl.php.net/package/vld/0.12.0/windows

在上面的地址下载vld,解压后 将 php_vld.dll,拷贝到ext目录下。

修改php.ini,增加“extension=php_vld.dll”;

要查看opcode,新建一个php脚本,cmd下执行

“E:\xampp\php>php -dvld.active=1 e:\htdocs\mytest\n.php”命令。

显示结果:

E:\xampp\php>php -dvld.active=1 e:\htdocs\mytest\n.php

Finding entry points

Branch analysis from position: 0

Jump found. Position 1 = 13, Position 2 = 6

Branch analysis from position: 13

Return found

Branch analysis from position: 6

Jump found. Position 1 = 3

Branch analysis from position: 3

Jump found. Position 1 = 1

Branch analysis from position: 1

filename:       E:\htdocs\mytest\n.php

function name:  (null)

number of ops:  14

compiled vars:  !0 = $i

line     # *  op                           fetch          ext  return  operands

---------------------------------------------------------------------------------

  30     0  >   ASSIGN                                                   !0, 0

         1  >   IS_SMALLER                                       ~1      !0, 100

         2    > JMPZNZ                                        6          ~1, ->13

         3  >   POST_INC                                         ~2      !0

         4      FREE                                                     ~2

         5    > JMP                                                      ->1

  31     6  >   CONCAT                                           ~3      'a', !0

         7      FETCH_W                      local               $4      ~3

         8      ASSIGN                                                   $4, !0

  32     9      CONCAT                                           ~6      'a', !0

        10      FETCH_R                      local               $7      ~6

        11      ECHO                                                     $7

  33    12    > JMP                                                      ->3

  36    13  > > RETURN                                                   1



branch: #  0; line:    30-   30; sop:     0; eop:     0; out1:   1

branch: #  1; line:    30-   30; sop:     1; eop:     2; out1:  13; out2:   6

branch: #  3; line:    30-   30; sop:     3; eop:     5; out1:   1

branch: #  6; line:    31-   33; sop:     6; eop:    12; out1:   3

branch: # 13; line:    36-   36; sop:    13; eop:    13

path #1: 0, 1, 13,

path #2: 0, 1, 6, 3, 1, 13,

012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364

6566676869707172737475767778798081828384858687888990919293949596979899

安装eAccelerator:

下载:http://www.sitebuddy.com/php/accelerators/eaccelerator-windows-binaries

下载下来的文件解压后,将dll文件,贝到ext下

修改php.ini,开启

    [eAccelerator]

    zend_extension_ts="C:/php/ext/eaccelerator.dll"       //路径根据实际情况而定

    eaccelerator.shm_size="32"       //根据系统内存来定,默认16M,可以改成64M

    eaccelerator.cache_dir="C:/php/temp"     //前面创建的缓冲文件夹

    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"

配置redis:

下载http://www.redis.cn/download.html

解压后有两个dll文件,全部拷贝到ext目录下。[我拷贝到ext,还提示找不到。最后拷贝到php.exe目录下才不再报错]。

修改php.ini

添加

"extension=php_igbinary.dll

 extension=php_vld.dll"

重启apache,phpinfo();可以查看是否启动。

 

测试redis:

$redis = new Redis();  

$redis->connect("192.168.0.110","6379");  //php客户端设置的ip及端口  

//存储一个 值  

$redis->set("say","Hello World");  

echo $redis->get("say");     //应输出Hello World  

  

//存储多个值  

$array = array('first_key'=>'first_val',  

          'second_key'=>'second_val',  

          'third_key'=>'third_val');  

$array_get = array('first_key','second_key','third_key');  

$redis->mset($array);  

var_dump($redis->mget($array_get));  

 

 

 

你可能感兴趣的:(PHP)